所以,首先我有这个输入
$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
中删除URL。
$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
抱歉看起来有点奇怪,谢谢。