我想用在php中执行以下替换,希望高手给一些指点 $content="{php}se(2){/php}<br>{php}se(1);{/php}";$re = "#{php}(.+[^;]){/php}#s";echo preg_replace($re, "<?=$1?>", $content); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不行啊。虽然上面的表达式是替代对了,但是对于这样复杂一点的式子$content="{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}"替换的结果是<?=se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd)?>而期望得到的式子是<?=se(2)?>dsadsa;dsadsa{php}se(1);echo(dddd){/php}大家再帮帮忙想想办法 $pattern = "/{php}(\w+\(\d\)+;){\/php}/uim";$string = "{php}se(2){/php}<br>{php}se(1);{/php}";$replace = "<".chr(63)."=\\1?>";print preg_replace($pattern, $replace, $string); $pattern = "/{php}(\w+\(\d\)+;.*){\/php}/uim";$string = "{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}";$replace = "<".chr(63)."=\\1?>";print preg_replace($pattern, $replace, $string); lantersen,反了,目的是替换{php}和{/php}之间没有分号;的表达式,而现在是替换有分号;的表达式。出来的结果是{php}se(2){/php}dsadsa;dsadsa<?=se(1);echo(dddd)?>而期望得到的式子是<?=se(2)?>dsadsa;dsadsa{php}se(1);echo(dddd){/php} <?php$content="{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}";$re = "#{php}([^;]+){/php}#sU";echo preg_replace($re, "<?=$1?>", $content);?> 完美解决,谢谢ice_berg16 和 lantersen !!!如果两位有好的关于学习正则表达式的资料请发送到十分感激 :) php调用Microsoft Speech SDK php与asp的md5加密码不一样 php后台的注意 有关数字替换问题,求救!急! 这段链接数据库代码哪里错了啊,,我运行的时候提示http400 zend studio 是否有内置的服务器?如何使用? 求助:php自动创建变量名 php POST 数据怎么自动就给加上“\”.郁闷 mysql 数据表 varchar 型数据不能存储 中文吗? 什么样的开发经验说得上是开发项目的经验?[PHP编程] 大家初学PHP的时候研究过哪些开源的代码呢? 问个很菜的问题
$content="{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}"
替换的结果是
<?=se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd)?>而期望得到的式子是
<?=se(2)?>dsadsa;dsadsa{php}se(1);echo(dddd){/php}大家再帮帮忙想想办法
$string = "{php}se(2){/php}<br>{php}se(1);{/php}";
$replace = "<".chr(63)."=\\1?>";
print preg_replace($pattern, $replace, $string);
$string = "{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}";
$replace = "<".chr(63)."=\\1?>";
print preg_replace($pattern, $replace, $string);
{php}se(2){/php}dsadsa;dsadsa<?=se(1);echo(dddd)?>
而期望得到的式子是
<?=se(2)?>dsadsa;dsadsa{php}se(1);echo(dddd){/php}
$content="{php}se(2){/php}dsadsa;dsadsa{php}se(1);echo(dddd){/php}";$re = "#{php}([^;]+){/php}#sU";
echo preg_replace($re, "<?=$1?>", $content);?>