在特定句子之间插入<span>标记,并保持原始大小写

时间:2018-08-11 09:09:31

标签: php regex preg-replace

我需要在字符串的某些文本之间插入一个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处理,但是我不知道应该朝哪个方向前进。预先感谢您的帮助!

1 个答案:

答案 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"