我需要在字符串的某些文本之间插入一个span标记,但是它应该不区分大小写并保持原始大小写。
$string ="This is what this is";
echo str_replace("this is","[span]this is[/span]",$string);
返回:
这是[span] 这是 [/ span]
预期:
[/ span] 这是 [/ span]什么是[span] 这是 [/ span]
我知道str_replace
并不是一个好的选择,ir可能由Regex处理,但是我不知道应该朝哪个方向前进。预先感谢您的帮助!
答案 0 :(得分:3)
使用preg_replace:
$string ="This is what this is";
echo preg_replace("/this is/i","[span]$0[/span]",$string);
说明:
/ : regex delimiter
this is : literally
/i : regex delimiter, case insensitive
替换:
$0 : contains the whole match, ie "this is"