我正在处理网址获取内容。
如果我只想从此站点获取文本内容(仅文本) http://en.wikipedia.org/wiki/Asia
怎么可能。我可以使用PHP获取URL标题和URL。
我使用以下代码获得了网址:
$url = getenv('HTTP_REFERER');
$file = file($url);
$file = implode("",$file);
//$get_description = file_get_contents($url);
if(preg_match("/<title>(.+)<\/title>/i",$file,$m))
$get_title = $m[1];
echo $get_title;
你可以帮助我获取内容。
使用file_get_content我可以单独获取HTML代码。还有其他可能性吗?
谢谢 - Haan的
答案 0 :(得分:1)
使用file_get_contents获取HTML内容,然后使用strip_tags删除HTML标记,从而只留下文字。
答案 1 :(得分:1)
如果您只想获得HTML页面的文本版本,那么您必须自己处理它。获取HTML(您似乎已经知道如何操作),然后使用PHP将其处理为纯文本。
有几种方法可以做到这一点。第一个是htmlspecialchars(),它将转义所有HTML特殊字符。我不认为这是你真正想要的,但我想我会提到它的完整性。
第二种方法是strip_tags()。这将从HTML文档中完全删除所有HTML。但是,它不验证其使用的输入,它只是做一个相当简单的文本替换。这意味着你最终会得到你可能不想要的东西(包括头部的内容,或嵌入式javascript和样式表的内部)
另一种方法是使用DOMDocument解析下载的HTML。我没有为你编写代码(没有时间),但一般程序类似如下:
以上描述最容易实现为递归函数(自称调用函数)。
最终结果应该是一个字符串,其中只包含下载页面的文本内容,没有标记。
编辑:忘记了strip_tags!我更新了我的答案,也提到了这一点。我把我的DOMDocument方法留在了我的答案中,因为正如strip_tags的文档所述,它没有对其处理的标记进行验证,而DOMDocument试图解析它(如果实现基于DOMDocument的文本提取,则可能更强大)好)。