我对正则表达式有疑问。我想替换字符串中包含2个字符的特定文本。
示例:
$my_string = "newtext!234@@random_text@@weludud";
$new_text = 'replaced_text";
在myabove字符串中,我想替换我的字符@@之间的文本。所以在上面的字符串中我想用random_text替换random_text。
所以我的输出将是newtext!234@@replaced_text@@weludud
答案 0 :(得分:2)
如果@@ text @@
在字符串中只出现一次,则可以使用explode
。
$my_string = "newtext!234@@random_text@@weludud";
$new_text = 'replaced_text';
$var = explode('@@',$my_string); //create an array with 3 parts, the middle one being the text to be replaced
$var[1]=$new_text;
$my_string=implode('@@',$var);
答案 1 :(得分:0)
答案 2 :(得分:0)
$my_string = "newtext!234@@random_text@@weludud";
$replace = 'replaced_text';
$replaced_text = preg_replace('#(@)(.*)(@)#si', "$1$replace$3", $my_string);
echo $replaced_text;