我想删除第一个网址之前的所有文字,只需要http或只是www,我也想删除网址。看这个例子。
$str = 'some text bla bla http://www.blabla.com this is another text';
$new_str = magic_function($str);
$new_str = 'this is another text';
使用这个preg_replace我可以替换一个url(一个是http,一个没有)
$string = preg_replace('|https?://www\.[a-z\.0-9/#]+|i', 'url_replace', $string);
$string = preg_replace('|www\.[a-z\.0-9]+|i', 'url_replace', $string);
所以现在我用url_replace替换了url。现在我要删除所有文字,直到并包含' url_replace'。
答案 0 :(得分:3)
修改您的正则表达式以在链接之前捕获文本,并将所有内容替换为''。
$str = 'some text bla bla http://www.blabla.com this is another text';
$string = preg_replace('|.*https?://www\.[a-z\.0-9/#]+|i', '', $str);
$string = preg_replace('|.*www\.[a-z\.0-9]+|i', '', $string);