Preg替换以添加数字
Preg replace to add number
我试图找到一种方法将数字添加到 XML 中的模式。
XML 中的字符串看起来像:
Blabla blabla ${bâtiment} : blabla
最后我要
Blabla blabla ${bâtiment1} : blabla
我发现了这样的东西:
preg_replace('/$\{(\w)\w+\}/', '${\1#' . $i . '}', $cloneXML);
但是不行,结果只包含第一个字母:
Blabla blabla ${b1} : blabla
我找不到任何东西来表达所有的意思:/
感谢您的帮助
对 unicode 使用 PCRE 修饰符 /u
,并在替换中将引用放在括号内,这样它就不会与变量 $i
中的数字连接起来。此外,您的正则表达式没有捕捉到整个单词,所以也许这就是您要查找的内容:
<?php
$cloneXML = 'Blabla blabla ${bâtiment} : blabla';
$i = 42;
print preg_replace('/$\{(\w*)\}/u', '{' . $i . '}', $cloneXML);
// => Blabla blabla {bâtiment42} : blabla
查看输出:3v4l.org/k8mIQ
我试图找到一种方法将数字添加到 XML 中的模式。
XML 中的字符串看起来像:
Blabla blabla ${bâtiment} : blabla
最后我要
Blabla blabla ${bâtiment1} : blabla
我发现了这样的东西:
preg_replace('/$\{(\w)\w+\}/', '${\1#' . $i . '}', $cloneXML);
但是不行,结果只包含第一个字母:
Blabla blabla ${b1} : blabla
我找不到任何东西来表达所有的意思:/
感谢您的帮助
对 unicode 使用 PCRE 修饰符 /u
,并在替换中将引用放在括号内,这样它就不会与变量 $i
中的数字连接起来。此外,您的正则表达式没有捕捉到整个单词,所以也许这就是您要查找的内容:
<?php
$cloneXML = 'Blabla blabla ${bâtiment} : blabla';
$i = 42;
print preg_replace('/$\{(\w*)\}/u', '{' . $i . '}', $cloneXML);
// => Blabla blabla {bâtiment42} : blabla
查看输出:3v4l.org/k8mIQ