我有文本:
$text = 'hello c8 world c test';
如果$text
包含字母c
后接数字,如何用chapter
替换c
字符?
所以我们最终得到了:
$text = 'hello chapter 8 world c test';
到目前为止,我已经成功地用chapter
:替换了c
str_replace('c', 'chapter ', $text);
但这将替换所有c
字符。我想regex应该拯救这个?
您可以使用regex检查c
中包含以下数字的内容:
$text = 'hello c8 world c test';
$result=preg_replace("/c(?=d+)/", "chapter" ,$text);
echo $result;
在这里运行
您可以使用:
bc(d+)b
并替换为
chapter 1
说明:
b
标记单词边界,以避免单词内部替换c(d+)
查找后面跟有数字的c
,并捕获这些数字以备将来使用- 替换中的
1
将第一个捕获的组(数字(放入替换
演示
例如
preg_replace('/bc(d+)b/', 'chapter 1', $text);