PHP正则表达式删除括号中的链接?

时间:2014-11-02 08:01:56

标签: php regex

我正在寻找PHP的正则表达式,它将删除括号中的所有URL。所以之前:

hello (http://www.google.com) bla (hello) (https://www.google.com) bla bla (http://www.somewhere.com/wherever/?p=343) bla bla bla (https://www.dldld.com/hfk/f/fd?d=3&t=4)

之后应该给我以下内容:

hello  bla (hello) bla bla  bla bla bla 

我该怎么做?

我只在括号中找到了这个:

$str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));

2 个答案:

答案 0 :(得分:2)

指定paranthesis中的内容

\s*\(https?:\/\/www\.[^)]*\)

从示例字符串开始,链接以http://www开头,后跟一些内容直到下一个结束括号)

示例:http://regex101.com/r/fE8eS0/1

答案 1 :(得分:1)

您可以使用:

$subject='hello (http://www.google.com) bla (hello) (https://www.google.com) bla bla (http://www.somewhere.com/wherever/?p=343) bla bla bla (https://www.dldld.com/hfk/f/fd?d=3&t=4)';
$result = preg_replace('%\s*\(https?:\/{2}[^)]*\)%im', '', $subject);
echo $result;