> 백엔드 개발 > PHP 튜토리얼 > 正则表达式 - PHP foreach array return 正则式的问题

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

WBOY
풀어 주다: 2016-06-06 20:35:52
원래의
1025명이 탐색했습니다.

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

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

$a3 = return('
    <h1>title</h1>
    {DOMEA}
    <hr>
    {DOMEB}
');
$b1 = preg_replace($a1,$a2,$a3);
</code>
로그인 후 복사
로그인 후 복사

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

回复内容:

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

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

$a3 = return('
    <h1>title</h1>
    {DOMEA}
    <hr>
    {DOMEB}
');
$b1 = preg_replace($a1,$a2,$a3);
</code>
로그인 후 복사
로그인 후 복사

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

<code><?php //http://3v4l.org/SHdjA
$a1 = '/\{[A-Z]*\}/';
$a2 = array(
'{DOMEA}'=>'AAAAAA',
'{DOMEB}'=>'BBBBBBB'
);
$a3 = '
    <h1>title</h1>
    {DOMEA}
    <hr>
    {DOMEB}
';
echo preg_replace_callback($a1, function($matches) use($a2) {
    return $a2[$matches[0]];
}, $a3);
?>
</code>
로그인 후 복사

http://3v4l.org/KudfG

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

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

$a3 = '


<h1>title</h1>


    {DOMEA}
    <hr>
    {DOMEB}
';

echo str_replace(array_keys($a2), array_values($a2), $a3);
</code>
로그인 후 복사

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

$a3 = '


<h1>title</h1>


    {DOMEA}
    <hr>
    {DOMEB}
';
echo strtr($a3,$a2);
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿