如何使用PHP从内容中删除链接?

时间:2010-09-30 14:29:16

标签: php hyperlink

$text = file_get_contents('http://www.example.com/file.php?id=name');
echo preg_replace('#<a.*?>.*?</a>#i', '', $text)

该链接包含以下内容:

text text text. <br><a href='http://www.example.com' target='_blank' title='title' style='text-decoration:none;'>name</a>

这个脚本有什么问题?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

试图标记你的问题,但没有选择“报告用户召唤克苏鲁”

我建议阅读:http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html

RegEx非常差,根本不打算解析HTML。这就是HTML解析库的原因。查找并使用一个PHP。 :)

答案 2 :(得分:0)

使用<a[^>]+>[^<]*</a>(只要文本中没有标记,并且元素内没有标记,就可以正常工作)

答案 3 :(得分:0)

以这种方式使用strip_tags

$t = 'http://yoururl.com/test1.php';
$t1 = file_get_contents($t);
$text = strip_tags($t1);

它应该可以摆脱您正在阅读的页面内的所有链接,无论如何都要访问该引用,它可能不适用于复杂的元素http://php.net/manual/en/function.strip-tags.php