php正则表达式字符串替换

时间:2014-12-16 08:20:40

标签: php regex string

我有一个像这样的字符串作为脚本的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'开头的子字符串。如果可能的话,用空格完成。

感谢

1 个答案:

答案 0 :(得分:5)

这样的东西
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匹配空格

Regex Demo

修改

这样的更好的解决方案
/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,

Regex Demo