如何用可变部分替换字符串?

时间:2015-11-25 13:13:56

标签: php

我想将每个\x替换为$matches[x],其中x是数字。

仅适用于str_replace的预定义数字:

str_replace( array(
    '\\1',
    '\\2',
    '\\3',
    '\\4'
), array(
    '$matches[1]',
    '$matches[2]',
    '$matches[3]',
    '$matches[4]'
), $string );

1 个答案:

答案 0 :(得分:1)

preg_replace

中使用正则表达式

代码:

<?php

$str = '\\2 string \\123 gogog \\123 sda \\342 \\3525 wqe \\234';
echo preg_replace('~(\\\\)(\d+)~', '$matches[$2]', $str);

输出:

$matches[2] string $matches[123] gogog $matches[123] sda $matches[342] $matches[3525] wqe $matches[234]