dqjl0906 2014-12-27 23:43
浏览 63
已采纳

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

looking for a way to remove any text that is

[url=]

That would be easy, but the url itself is a URL I dont have control of.

e.g or urls:

[url=wqffqwfq] [url=qwfwqfqf]

etc.

Looking for a preg replace, currently have this:

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

But that removes the image that comes after the url.

Thanks.

  • 写回答

1条回答

  • duanpanhuo0618 2014-12-27 23:53
    关注

    I think you use too much escape characters. You can however use lazy capture groups:

    $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';
    

    If the assignment (=) character is optional, you can use the /\[url(.*?)\]/i pattern.

    Information: .*? means a non-greedy capture: this means that . is captures, as long as there is no way to escape the group. From the moment it is possible, the regex mechanism escapes the group.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘