2015-09-14 8 views
-2

我想获取给定HTML中的所有强标记。例如。我有以下HTML格式:获取给定HTML中的所有强标记

<strong data-mention="2uwWMABSjBPWdAlSnglAlsY7A1cD1Q7EmHiM9wehxXyY99AQs6eC7rEt">Alex </strong>​ how are you? Is <strong data-mention="2uwWMABSjBPWdAlSnglAlsY7A1cD1Q7EmHiM9wehxXyY99AQs6eC7rEt">Matt</strong>​ coming today for a match? 

我用:

preg_match_all('/<strong>(.*)<\/strong>/s',$string,$data); 

但它没有工作。我不知道RE。任何帮助,将不胜感激。谢谢!

通过使用preg_match_all('/<strong(.*)>(.*)<\/strong>/s',$string,$data);我得到以下结果:

Array 
(
    [0] => Array 
     (
      [0] => Alex ​ how are you? Is Matt 
     ) 

    [1] => Array 
     (
      [0] => data-mention="2uwWMABSjBPWdAlSnglAlsY7A1cD1Q7EmHiM9wehxXyY99AQs6eC7rEt">Alex ​ how are you? Is Array 
     (
      [0] => Matt 
     ) 

) 

这是不正确:( 我想这样的输出:

Array 
(
    [0] => Array 
     (
      [0] => <strong data-mention="2uwWMABSjBPWdAlSnglAlsY7A1cD1Q7EmHiM9wehxXyY99AQs6eC7rEt">Alex </strong>​ 
     ) 

    [1] => Array 
     (
      [0] => <strong data-mention="2uwWMABSjBPWdAlSnglAlsY7A1cD1Q7EmHiM9wehxXyY99AQs6eC7rEt">Matt</strong> 
     ) 

) 
+0

预期产量是多少? – hwnd

回答

1

你应该考虑使用权tool工作和avoid在这里使用正则表达式。

$doc = new DOMDocument; 
$doc->loadHTML($html); // load the HTML data 
foreach ($doc->getElementsByTagName('strong') as $tag) { 
    $results[] = $doc->saveHTML($tag); 
} 
print_r($results); 

eval.in

+0

谢谢!它的工作就像魅力:) – Chinmay

+0

你能再次帮助我吗..我怎样才能实现这个使用jquery呢? – Chinmay

相关问题