欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

正则表达式 - PHP foreach array return 正则式的问题

程序员文章站 2022-05-30 16:45:45
...
$a1 = '/\{[A-Z]*\}/';

$a2 = array(
'{DOMEA} = 'AAAAAA';
'{DOMEB} = 'BBBBBBB';
)

$a3 = return('
    

title

{DOMEA}
{DOMEB} '); $b1 = preg_replace($a1,$a2,$a3);

怎么才实现$a2自动匹配$a3里对应的内容呢?
满脑子全是浆糊,实在想不出来,用foreach试了半天了也没弄出来,不知那位路过的PHP大大能给解解……

回复内容:

$a1 = '/\{[A-Z]*\}/';

$a2 = array(
'{DOMEA} = 'AAAAAA';
'{DOMEB} = 'BBBBBBB';
)

$a3 = return('
    

title

{DOMEA}
{DOMEB} '); $b1 = preg_replace($a1,$a2,$a3);

怎么才实现$a2自动匹配$a3里对应的内容呢?
满脑子全是浆糊,实在想不出来,用foreach试了半天了也没弄出来,不知那位路过的PHP大大能给解解……

'AAAAAA',
'{DOMEB}'=>'BBBBBBB'
);
$a3 = '
    

title

{DOMEA}
{DOMEB} '; echo preg_replace_callback($a1, function($matches) use($a2) { return $a2[$matches[0]]; }, $a3); ?>

http://3v4l.org/KudfG

因为这根本不是什么正则,只是最普通的str_replace罢了……

php$a2 = array(
'{DOMEA}' => 'AAAAAA',
'{DOMEB}' => 'BBBBBBB',
);

$a3 = '


title

{DOMEA}
{DOMEB} '; echo str_replace(array_keys($a2), array_values($a2), $a3);

php
$a2 = array( '{DOMEA}' => 'AAAAAA', '{DOMEB}' => 'BBBBBBB', ); $a3 = '

title

{DOMEA}
{DOMEB} '; echo strtr($a3,$a2);