如何从PHP中删除混合字符串中的所有链接

时间:2010-01-12 19:04:07

标签: php

我在php中有一个变量可以是这样的:$ string =“你好看看这个http://xx.xx/xxx& thanks !!”;

我想要一个函数来剥离该链接并将其从字符串中删除,该URL可以与WWW一起使用。或没有它。

此外,此变量可以包含多个网址。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式来执行此操作:

$string = preg_replace('\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', '', $string);

这将在字符串中找到URL的每个实例,并将其替换为空字符串。

答案 1 :(得分:1)

您可以使用正则表达式来匹配和替换所有URL格式,如下所示:

$string = preg_replace("/(^¦\s)(http:\/\/)?(www\.)?[\.0-9a-zA-Z\-_~]+\.(com¦net¦org¦info¦name¦biz¦.+\.\w\w)((\/)?[0-9a-zA-Z\.\-_~#]+)?\b/ie","",$string);