dongzhuang1923 2012-04-14 20:58
浏览 117
已采纳

抓取任何以http开头的字符串直到php中的第一个空白字符

I am having problems grabbing some text using preg_replace() in php. I am just trying to remove all text that starts with a http|https|www up until the first whitespace character. I am currently using: (http|https|www)\S+ as my regex in preg_replace(). However I am getting this error when running the code: Warning: preg_replace(): Unknown modifier '\' I can use this same regex in a text editor, e.g. Sublime Text 2 with no problem. Any ideas why I am getting this error? Is there another way to grab the text I am looking for with a regex?

Thanks for any help.

  • 写回答

5条回答 默认 最新

  • dongleman4760 2012-04-14 21:03
    关注

    You must delimit your regular expressions. This is usually a slash (/), but can also be a pair of parentheses. After the second delimiter can follow a number of delimiters (multi-line regex, ignore white-space, case-insensitive, etc.). \ is not a valid modifier, and thus, PHP complains.

    Modify your regex as follows:

    preg_replace('/(http|https|www)\S+/', …, …);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?