我正在尝试使用正则表达式从我的一个HTML页面中提取文本,但我对如何区分内容的不同部分略有不确定...
考虑这个HTML(代码中实际不存在新行):
Name: SOMETHING_HERE<br>
Gender: SOMETHING_HERE<br>
Age: SOMETHING_HERE<br>
etc...
使用preg_match()
,我想获得SOMETHING_HERE的值。所以,在&#39;之后发生的任何事情:&#39;在&#39; <br>
&#39;之前我想抓住并添加到matches数组。
到目前为止,这是我有点可怜的尝试:
$regex = '/[^:]+:\s*(.+)\s*\<br\>/i';
以上似乎与整个字符串相匹配而不是每个部分,任何人都可以建议我做错了吗?
答案 0 :(得分:1)
您可以使用此/:(.*?)<br>/
<?php
$str='Name: SOMETHING_HERE<br>
Gender: SOMETHING_HERE<br>
Age: SOMETHING_HERE<br>';
preg_match_all('/:(.*?)<br>/', $str, $matches);
print_r($matches[1]);
<强> OUTPUT :
强>
Array
(
[0] => SOMETHING_HERE
[1] => SOMETHING_HERE
[2] => SOMETHING_HERE
)
答案 1 :(得分:1)