我在PHP中有以下代码
$ch = curl_init("http://blog.com");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
Run Code Online (Sandbox Code Playgroud)
我试图导入的代码块之间<div id="content">和</div>我想知道这个提取码的最好方式.
我正在尝试使用DOMDocument来解析HTML代码.
我只是做了一些简单的工作,我已经喜欢gordon 使用正则表达式和simplehtmldom对废料数据的回答,并将我的代码基于他的工作.
我发现PHP.net上的文档不是很好,因为信息有限,几乎没有示例,大多数细节都是基于解析XML.
<?php
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('http://www.nu.nl/internet/1106541/taalunie-keurt-open-sourcewoordenlijst-goed.html');
libxml_clear_errors();
$recipe = array();
$xpath = new DOMXPath($dom);
$contentDiv = $dom->getElementById('page'); // would have preferred getContentbyClass('content') (unique) in this case.
# title
print_r($xpath->evaluate('string(div/div/div/div/div/h1)', $contentDiv));
# content (this is not working)
#print_r($xpath->evaluate('string(div/div/div/div['content'])', $contentDiv)); // if only this worked
print_r($xpath->evaluate('string(div/div/div/div)', $contentDiv));
?>
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我试图获取nu.nl新闻文章的标题(在h1标签之间)和内容(HTML).
正如你所看到的,我可以得到标题,虽然我对那个评估字符串甚至不满意,因为它恰好是该div级别上唯一的h1标签.
可能重复:
如何使用PHP解析HTML?
我需要在td标记内解析一个字符串.我可以使用jQuery执行此操作,具体如下:
$("#right .olddata:first td.numeric:first").html()
Run Code Online (Sandbox Code Playgroud)
如果我在字符串变量中有HTML代码,我如何获得相同td的内容?
我正在尝试编写一个正则表达式来匹配以下HTML.
<span class="hidden_text">Some text here.</span>
Run Code Online (Sandbox Code Playgroud)
我正在努力写出匹配它的条件,并尝试了以下内容,但在某些情况下,它也会在跨度之后选择所有内容.
$condition = "/<span class=\"hidden_text\">(.*)<\/span>/";
Run Code Online (Sandbox Code Playgroud)
如果有人能突出我做错了什么就会很棒.
我该怎么用?
我将获取链接,图像,文本等,并使用它来构建seo统计和页面分析.
你建议使用什么?XML Parser或正则表达式
我一直在使用正则表达式并且从来没有遇到过任何问题但是,我一直听到人们说它不能做某些事情而且等等等等......但说实话我不知道为什么但是我害怕使用XML解析器并更喜欢正则表达式(它的工作原理非常好)
所以,如果一切都与正则表达式一致,为什么我在这里问你要用什么?好吧,我认为即使到目前为止一切都很好并不意味着它将来也是如此,所以我只是想知道在正则表达式上使用XML解析器有什么好处?是否有任何改进的性能,更少的错误,更好的支持,其他闪耀功能等?
如果您确实建议使用XML解析器,那么建议使用PHP解析器
我绝对想知道你为什么选择一个而不是另一个?