我有一个像这样的字符串作为脚本的 json 响应:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, HTTP://unknown/string/in/unknown/place/ , sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
有没有办法使用正则表达式和 php preg_replace 将 替换为空字符串?
我不熟悉正则表达式,你能举个例子吗?如果可能的话,我基本上需要删除以“http”开头并以空格结尾的子字符串。
谢谢
最佳答案
有点像
preg_replace("/HTTP\S+\s,/", "","Lorem ipsum dolor sit amet, consectetur adipiscing elit, HTTP://unknown/string/in/unknown/place/ , sed do eiusmod tempor incididunt ut labore et dolore magna aliqua" );
将输出为
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
正则表达式 /HTTP\S+\s,/
\S
匹配除空格以外的任何内容\s
匹配一个空格
编辑
更好的解决方案如
/HTTP\S+(\s,|$)/
这样链接就可以出现在字符串中的任何位置,甚至在末尾也是如此。
示例
preg_replace("/HTTP\S+(\s,|$)/", "","Lorem ipsum dolor sit amet, consectetur adipiscing elit, HTTP://unknown/string/in/unknown/place/" );
=> Lorem ipsum dolor sit amet, consectetur adipiscing elit,
关于php正则表达式字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500285/