我正在使用以下代码尝试在两个标记之间获取一些html。到目前为止,我有这个:
$pattern = "/<span style='text-decoration:none;color:#fff;font-family: verdana,geneva,sans-serif;font-size:12px'>(.*?)<\/span>/s";
preg_match($pattern, $html, $episodes);
echo '<pre>';
var_dump($episodes);
echo '</pre>';
die();
这是送入$ html变量的样本数据
<span style="text-decoration:none;color:#fff;font-family: verdana,geneva,sans-serif;font-size:12px">
<b><span style='font-size:18px'>The Walking Dead</span></b><br><br><br><br><b>1x01 - <a style='text-decoration:underline;color:#ffffcc;font-family: verdana,geneva,sans-serif;' href='/?12&tv=1'>Days Gone Bye</a></b><br><br>
</span>
我只是想把那块html拿出去。任何想法为什么模式不匹配?
答案 0 :(得分:2)
使用DOM时,您应该使用DomDocumnet
类
像未经测试的代码段之类的内容应该可以使用
$html = "<span style='text-decoration:none;color:#fff;font-family: verdana,geneva,sans-serif;font-size:12px'>My text is here</span>";
$document = DOMDocument::loadHTML($html);
$span = $document->getElementByTagName('span');
echo $span->item(0)->nodeValue;