PHP - 如何通过 preg_match 获取标签前的文本?
PHP - How Get text before tag By preg_match?
如何通过 preg_match
获得 ("TEXT")
$Text ='<input value="AAA" name="A1"> <input value="BBB" name="A2"> <input value="TEXT" name="A3">';
preg_match('!<input value="(.*?)" name="A3">!', $Text, $Word);
echo $Word[1]; //AAA" name="A1"> <input value="BBB" name="A2"> <input value="TEXT
图片:
你需要把.*?
部分改成否定字符class。
"([^"]*)"
不过,您也可以利用 DOM 来实现这一点。
$doc = DOMDocument::loadHTML('
<input value="AAA" name="A1">
<input value="BBB" name="A2">
<input value="TEXT" name="A3">
');
$xpath = new DOMXPath($doc);
$match = $xpath->query('//input[@name="A3"]');
echo $match->item(0)->getAttribute('value');
这个简单:
https://regex101.com/r/tI8vQ1/1
/<input value="(\w*)" name="A3">/
如何通过 preg_match
获得 ("TEXT")$Text ='<input value="AAA" name="A1"> <input value="BBB" name="A2"> <input value="TEXT" name="A3">';
preg_match('!<input value="(.*?)" name="A3">!', $Text, $Word);
echo $Word[1]; //AAA" name="A1"> <input value="BBB" name="A2"> <input value="TEXT
图片:
你需要把.*?
部分改成否定字符class。
"([^"]*)"
不过,您也可以利用 DOM 来实现这一点。
$doc = DOMDocument::loadHTML('
<input value="AAA" name="A1">
<input value="BBB" name="A2">
<input value="TEXT" name="A3">
');
$xpath = new DOMXPath($doc);
$match = $xpath->query('//input[@name="A3"]');
echo $match->item(0)->getAttribute('value');
这个简单:
https://regex101.com/r/tI8vQ1/1
/<input value="(\w*)" name="A3">/