【发布时间】:2020-10-12 11:31:50
【问题描述】:
所以,首先我有这个输入
$string = "Lorem ipsum
dolor sit amet, consectetur adipiscing
elit https://www.youtube.com/watch?v=example sed do eiusmod tempor incididunt https://www.youtube.com/watch?v=example2 https://www.youtube.com/watch?v=example3";
然后我想使用正则表达式从$string 中删除网址
$string = preg_replace('/[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)/', '', $string);
在我从字符串中删除所有 url 后,输出将是
Lorem ipsum
dolor sit amet, consectetur adipiscing
elit sed do eiusmod tempor incididunt
问题是,有双倍的空间,我想让它更整洁
我试过用这个,它将所有的双空格替换为单空格
$string = preg_replace('/\x20+/', ' ', $string);
还有一个问题是换行后有空格
Lorem ipsum
dolor sit amet, consectetur adipiscing
elit sed do eiusmod tempor incididunt
这让我很不舒服。
我需要一个解决方案来摆脱 url,但也要让它整洁。 我想要的最后一个结果是这样的
Lorem ipsum
dolor sit amet, consectetur adipiscing
elit sed do eiusmod tempor incididunt
对不起,如果它看起来很奇怪,谢谢
【问题讨论】: