寻找一种方法来删除任何文本
[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
模式。
信息:.*?
表示非贪婪捕获:这意味着只要没有办法逃离群体,.
就是捕获。从可能的那一刻起,正则表达式机制就会转义组。