寻找删除任何
文本的方法[url=]
这很容易,但网址本身就是我无法控制的网址。
例如或网址:
[URL = wqffqwfq] [URL = qwfwqfqf]
等
寻找preg替换,目前有这个:
$post_text = preg_replace('%\[URL[^\]]*\][^\[\]]*|\[/URL[^\]]*\]%i', '', $post_text);
但是会删除网址后面的图片。
感谢。
答案 0 :(得分:1)
我认为你使用了太多的转义字符。但是,您可以使用延迟捕获组:
$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
模式。
信息:.*?
表示非贪婪的捕获:这意味着只要没有办法逃脱该组就会捕获.
。从可能的那一刻起,正则表达式机制就逃脱了这个群体。