Php 从html标记获取包含子字符串的数组

Php 从html标记获取包含子字符串的数组,php,Php,我想在一个特殊的html标记中获取所有子字符串内容,在示例中是它的 <b></b>: function getTextBetweenTags($string, $tagname) { $pattern = "/<$tagname ?.*>(.*)<\/$tagname>/"; preg_match($pattern, $string, $matches); return $matches; } $message = "<

我想在一个特殊的html标记中获取所有子字符串内容,在示例中是它的

<b></b>:

 function getTextBetweenTags($string, $tagname) {
   $pattern = "/<$tagname ?.*>(.*)<\/$tagname>/";
   preg_match($pattern, $string, $matches);
   return $matches;
}

$message = "<p> Te informamos que la parada <b> Avenida de la Vega </b> 
  se ha llenado, el día <b>2013-04-22 </b> a las <b>08:23:27</b>.
  <br><br> No olvides cerrar este ticket cuando hayas resuelto incidencia.
  <br><br> Gracias </p>";


 $result = getTextBetweenTags($message, "b");
 var_dump($txt);

如何获取它?

不应通过正则表达式解析HTML。最好像这样使用DOM:

$html='
<p> Te informamos que la parada <b> Avenida de la Vega </b> 
  se ha llenado, el día <b>2013-04-22 </b> a las <b>08:23:27</b>.
  <br><br> No olvides cerrar este ticket cuando hayas resuelto incidencia.
  <br><br> Gracias </p>';
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($html); // loads your html
$nodeList = $doc->getElementsByTagName('b');
$items = array();
for($i=0; $i < $nodeList->length; $i++) {
    $node = $nodeList->item($i);
    $items[] = $node->nodeValue;
}
print_r($items);
$html='1!'
织女星大道信息中心
塞哈·莱纳多,el día 2013-04-22 a las 08:23:27。


没有人会因为发生意外而给他开罚单。

格雷西亚斯; $doc=新的DOMDocument(); libxml\u使用\u内部错误(true); $doc->loadHTML($html);//加载你的html $nodeList=$doc->getElementsByTagName('b'); $items=array(); 对于($i=0;$i<$nodeList->length;$i++){ $node=$nodeList->item($i); $items[]=$node->nodeValue; } 打印(项目);
$txt变量来自哪里?是我遗漏了什么,还是你。。。
array(3) {
  [0]=>
   string(20) "Avenida de la Vega" 
   [1]=>
    string(10) "2013-04-22"
   [2]=>
    string(8) "08:23:27"
  }
$html='
<p> Te informamos que la parada <b> Avenida de la Vega </b> 
  se ha llenado, el día <b>2013-04-22 </b> a las <b>08:23:27</b>.
  <br><br> No olvides cerrar este ticket cuando hayas resuelto incidencia.
  <br><br> Gracias </p>';
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($html); // loads your html
$nodeList = $doc->getElementsByTagName('b');
$items = array();
for($i=0; $i < $nodeList->length; $i++) {
    $node = $nodeList->item($i);
    $items[] = $node->nodeValue;
}
print_r($items);