首頁 >後端開發 >php教程 >php正则替换

php正则替换

WBOY
WBOY原創
2016-06-23 13:42:20912瀏覽

$array = array('aaa','bbbbbb','cccccc','ddddddddddd');
$str = 'abcdej{$array}jdijij';

$str = preg_replace("/^\{\$(.*?)\}$/i",'print_r(\\1);',$str);
print_r($str);

如何替换成 {print_r($array)}    正则怎么写??
还有 for while foreach 等正则该怎么写???


回复讨论(解决方案)

$str = 'abcdej{$array}jdijij';$str = preg_replace('/\{(\$.+?)\}/', '<?php print_r(\\1);?>', $str);echo $str;
abcdejjdijij

规则串用双引号括起时要
$str = 'abcdej{$array}jdijij';$str = preg_replace("/\{(\\\$.+?)\}/", '<?php print_r(\\1);?>', $str);echo $str;

\\$ 和 \\\$  结果是一样的,我知道\ 是转义,但是两个就行了,但是很多地方都写得是三个,这是为什么?

这是测试得来的,比如我的环境就得写3个

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn