替换 [url=URL] 正则表达式


Replace [url=URL] regex

寻找一种方法来删除任何文本

[url=]

这很容易,但网址本身就是我无法控制的网址。

例如或网址:

[url=wqffqwfq] [url=qwfwqfqf]

等。

寻找预孕替代品,目前有这个:

$post_text = preg_replace('%'[URL[^']]*'][^'[']]*|'[/URL[^']]*']%i', '', $post_text);

但这会删除 url 后面的图像。

谢谢。

我认为您使用了太多转义字符。但是,您可以使用延迟捕获组:

$string = '[foo] buz [url=wqffqwfq] qux [bar] foobar [url=qwfwqfqf] faq';
$pattern = '/'[url=(.*?)']/i';
$replace = '';
$string = preg_replace($pattern,$replace,$string);
//$string = '[foo] buz  qux [bar] foobar  faq';

如果赋值 ( = ) 字符是可选的,则可以使用 /'[url(.*?)']/i 模式。

信息:.*?表示非贪婪捕获:这意味着只要没有办法逃离群体,.就是捕获。从可能的那一刻起,正则表达式机制就会转义组。