正则表达式:如何在标签之间捕捉?

时间:2014-11-21 13:12:53

标签: regex

我有这些表达

<b>hello</b> somthing else <b>world</b>

我想得到:

[0] = hello
[1] = world
etc...

(在没有标签的标签之间捕捉)

目标不是解析DOM解析,而只使用简单的正则表达式

3 个答案:

答案 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);