我可以使用什么正则表达式代码来查找html标记,然后从中提取字符串?
<?php
$html = "<span class="equipped">360</span>"
$match = preg_match("???", $html, $matches);
?>
答案 0 :(得分:0)
你永远不应该用正则表达式解析HTML ...你会发现很多解释here为什么你不应该这样做。
您可以查看this上一篇SO帖子,讨论各种框架,这些框架允许您通过PHP处理HTML,例如phpQuery和QueryPath。
答案 1 :(得分:-1)
正如npinti指出的那样,你不应该使用正则表达式来解析非常规语言。相反,您可以使用PHP的DOMDocument来查找所需节点的文本。以下是捕获<span>
元素内部文本的示例,以及演示如何工作的示例。
$html = "<span>Text</span>";
$doc = new DOMDocument();
$doc->loadHTML( $html);
$elements = $doc->getElementsByTagName("span");
foreach( $elements as $el)
{
echo $el->nodeValue . "\n";
}
编辑:我的示例显示使用半完整的HTML文档,但DOMDocument也会成功解析HTML {1}}等HTML字符串,请参阅here。