我想将html解析为dom树,并找到<a>
标签内的所有文本,因此,我搜索了它,找到了“PHP Simple HTML DOM Parser”。它似乎可以帮助我将HTML DOM解析为DOM树。我想找到不在<a>
标签内的文字,但我只能找到<a>
标签内的元素。 * ps:它还不支持CSS3而不是选择器。谢谢。
有这方面的经验吗?谢谢。
答案 0 :(得分:1)
我希望我不会误解这个问题,但是你不能使用PHP的内置DOM函数来查找 <a>
标签内的文本吗?
$doc = new DOMDocument();
$doc->loadHTMLFile("http://blahblah.com/blah.html");
$elem_list = $doc->getElementsByTagName("a");
foreach($elem_list as $elem)
echo $elem->textContent;
击> <击> 撞击>
在这种情况下,我将删除所有<a>
标记及其内容(例如使用正则表达式),然后将生成的HTML加载到您选择的DOM解析器中。
更新:更好的是,立即解析HTML并使用内置函数删除<a>
代码,或循环浏览所有代码,然后跳过<a>
标签。应该避免使用HTML的正则表达式。
答案 1 :(得分:0)
我多次使用过这门课。它是在php中解析html / dom的绝佳解决方案。
$html = new simple_html_dom();
// Load your html as string
$html->load('........ HTML ..........');
$a = $html->find('a');
$text='';
for($i=0;$i<count($a);$i++)
$text.=$a[$i]->innertext;
包含标签中所有文本的变量$ text。 希望它会对你有所帮助。