我有这些表达
<b>hello</b> somthing else <b>world</b>
我想得到:
[0] = hello
[1] = world
etc...
(在没有标签的标签之间捕捉)
目标不是解析DOM解析,而只使用简单的正则表达式
答案 0 :(得分:2)
每个人都写Regex我会给你其他解决方案,你可以使用PHP函数
$document = new DOMDocument();
$document->loadHTML($str);
从字符串加载html。然后当你有DOM对象时,你可以使用方法
$nodeList = $document->getElementsByTagName('b');
foreach ($nodeList as $b) {
echo $b->nodeValue ;
}
检查以下链接:
答案 1 :(得分:1)
尝试以下代码;
preg_match_all('/<b>.*?<\/b>/is',
"<b>hello</b> somthing<p>wewrw</p> else <b>world</b>",
$out);
print_r($out);
答案 2 :(得分:0)
$subject = '<b>hello</b> somthing else <b>world</b>';
$pattern = '/<\D>[a-z]{1,}<\/\D>/';
preg_match_all($pattern, $subject, $matches);print_r($matches);