9

你好,我在网站上有一些用户生成的内容。我想使用 php 函数从中删除链接。

例如我有以下字符串:

"text1 http://link1 text2 www.link2 text3 link3.com text4"

有没有一种简单的方法来检测包含 http:、www.、.com 的单词并将它们从文本中删除?或者还有其他清除链接文本的好方法吗?

感谢您的时间!

4

2 回答 2

13
$pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i";
$replacement = "";
preg_replace($pattern, $replacement, $string);
于 2013-06-07T04:43:31.537 回答
5

哦,我找到了答案。

function cleaner($url) {
  $U = explode(' ',$url);

  $W =array();
  foreach ($U as $k => $u) {
if (stristr($u,'http') || (count(explode('.',$u)) > 1)) {
  unset($U[$k]);
  return cleaner( implode(' ',$U));
}
}
  return implode(' ',$U);
}

$url = "Here is another funny site www.tinyurl.com/55555 and http://www.tinyurl.com/55555 and img.hostingsite.com/badpic.jpg";
echo "Cleaned: " . cleaner($url);
于 2013-06-07T04:44:47.653 回答