如以下字符串
aaaafdsafdsa<bb>usetest</bb>
<div><bb>diyige</bb>321<bb>dierge</bb>cc</div>
<bb>usetest</bb>dd我想找div 之间 的<bb></bb>里的数据
也就是
<bb>diyige</bb>
bb>dierge</bb> 这样的数据
我现在是分2次做的,第一次找到div里的,<div><bb>diyige</bb>321<bb>dierge< /bb>cc</div>然后再找这里有几个<bb></bb>..
我想得知一个一次找出来的方法谢谢了!
aaaafdsafdsa<bb>usetest</bb>
<div><bb>diyige</bb>321<bb>dierge</bb>cc</div>
<bb>usetest</bb>dd我想找div 之间 的<bb></bb>里的数据
也就是
<bb>diyige</bb>
bb>dierge</bb> 这样的数据
我现在是分2次做的,第一次找到div里的,<div><bb>diyige</bb>321<bb>dierge< /bb>cc</div>然后再找这里有几个<bb></bb>..
我想得知一个一次找出来的方法谢谢了!
<div><bb>diyige</bb><bb>dierge</bb>cc</div>
<bb>usetest</bb>dd ';
$patterns = "/<div>[^<]*(<bb>.*?<\/bb>)[^>]*<\/div>/is";
$rs = preg_match_all($patterns, $string, $matches);var_dump($rs);print_r($matches);
Array
(
[0] => Array
(
[0] => <div><bb>diyige</bb><bb>dierge</bb>cc</div>
) [1] => Array
(
[0] => <bb>diyige</bb><bb>dierge</bb>
)
还是要对[1] 里面的进行一次 循环才可以取出我想要的数据啊。。
<div><bb>diyige</bb><bb>dierge</bb>cc</div>
<bb>usetest</bb>dd </string>';
$dom = new DOMDocument();
$dom->loadXML($string);
$xpath = new DOMXPath($dom);
$element = $xpath->query("/string/div/bb");
foreach ($element as $node) echo $node->textContent.'<br>' ;
"<bb>diyige</bb>",
"bb>dierge</bb>"
);
我还真不知道如何在一个表达式里把这些取出来,