我想用@。
替换我的字符串中的http://
或https://
eg: $twitter_id = 'http://abcuser';
我想要的结果是' @ abcuser'
我正在尝试的是
$twitter_id = 'http://abcuser';
$match = '/http:/';
$replace = '@';
$new_id = preg_replace($match, $replace, $twitter_id);
echo 'Tweet ID:'.$new_id;
但没有得到任何正确的结果。 请帮助。
答案 0 :(得分:1)
No need for regex在这里,使用str_replace()
:
$new_id = str_replace(array('http', 'https'), '@', $twitter_id);
echo 'Tweet ID' . $new_id; // @abcuser
如果 决定在此处使用regex,您可以像这样实现:
$pattern = '/(?:http|https):\/\//';
$replace = '@';
$new_id = preg_replace($pattern, $replace, $twitter_id);
(?:http|https)
是一个匹配http或https的非捕获组,然后匹配冒号和两个斜杠(转义它们,除非你使用不同的模式分隔符)。
您也可以考虑上述两者的不区分大小写的选项,例如: str_ireplace()
或/pattern/i
(正则表达式修饰符)
答案 1 :(得分:1)
如果您不介意,在这种情况下您也可以使用str_replace
:
$twitter_id = 'http://abcuser';
$needles = array('http://', 'https://');
$new_id = str_replace($needles, '@', $twitter_id);
// or use a simple regex
// $new_id = preg_replace('/(http|https)\:\/\//', '@', $twitter_id);
echo $new_id;