我有文字:
$text = 'hello c8 world c test';
如果c
包含字母chapter
后跟数字,如何用$text
替换c
字符?
所以我们最终得到:
$text = 'hello chapter 8 world c test';
到目前为止,我已经成功地将c
替换为chapter
:
str_replace('c', 'chapter ', $text);
但这将替换所有 c
个字符。我想正则表达式应该解决这个问题吗?
答案 0 :(得分:2)
您可以使用正则表达式并检查c
的以下数字:
$text = 'hello c8 world c test';
$result=preg_replace("/c(?=\d+)/", "chapter" ,$text);
echo $result;
运行here
答案 1 :(得分:1)
您可以使用:
\bc(\d+)\b
并替换为
chapter \1
说明:
\b
标记单词边界,以避免单词内部替换c(\d+)
找到c
和数字,并捕获这些数字以备将来使用\1
替换中的第一个捕获组(数字)将替换例如
preg_replace('/\bc(\d+)\b/', 'chapter \1', $text);