PHP preg_Match特定字段值

2022-03-29 00:00:00 regex php preg-match

我要获取不断更改其值的字段的ID或名称。

示例:

我的表单中有以下字段:

<input type="text" id="94245" name="94245" value="">
<input type="text" id="name" name="name" value="">
<input type="text" id="status" name="status" value="">

我想获取第一个字段的ID或名称,但它一直在更改,如:

<input type="text" id="52644" name="52644" value="">
<input type="text" id="44231" name="44231" value="">
<input type="text" id="94831" name="94831" value="">

模式是始终为5个数字值。

我试过了,但没有成功:

preg_match('/(d)id=s*([0-9]{5})s*(d+)/', $html, $fieldId);

解决方案

试试:

preg_match('/ids*=s*"(d{5})"/', $html, $fieldId);
  • 单词边界的转义序列是,而不是d
  • 没有理由在周围使用捕获组,因为它是零长度匹配。
  • ID两边的双引号不匹配。
  • 您可以使用d而不是[0-9]匹配数字。
  • ID后面没有d+,我不知道这在您的regexp中有什么用。

相关文章