求一段正则 本帖最后由 subendong 于 2011-01-14 21:52:42 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $html = '<html><body>{{aaaa.Title|mb_substr("aaaa.Title", 0, 10, "gb2312");}}</body></html>';$match = "/(<body\s*>)(.*?)(<\/body>)/";$str = preg_replace($match , '\\1abcdefg\\3' , $html);echo $str;//<html><body>abcdefg</body></html>是这个意思吗 模板里有很多html标记也有很多类似{{aaaa.Title|mb_substr("aaaa.Title", 0, 10, "gb2312");}}的字符串。继续等待 <html><head><title>abc</title></head><body><table border="1">{{foreach sql="select * from z_news limit 0,10" result="news"}} <tr> <td>{{$news[NewsID]|if( $news[NewsID] == 1 ){$news[NewsID]="abc";} else {$news[NewsID]="king";} }}</td> <td>{{$news[Title]}}</td> <td>{{date("Y-m-d", strtotime($news[UpdateTime]))}}</td> </tr>{{/foreach}}</table><table border="1">{{foreach sql="select * from z_news order by NewsID desc limit 0,10" result="aaaa"}} <tr> <td>{{$aaaa[NewsID]}}</td> <td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td> <td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td> </tr>{{/foreach}}</table></body></html> 不知道楼主要的是不是这个效果<?php$str=' <td>{{$aaaa[NewsID]}}</td> <td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td> <td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td> </tr>{{/foreach}}</table>';$pattern="/(.*){{(mb_substr)(.*?)}}{1}(.*)/is";$replace="{{\\2\\3}}";$result=preg_replace($pattern,$replace,$str);echo $result;?> 上面的有点点没有去掉<?php$str=' <td>{{$aaaa[NewsID]}}</td> <td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td> <td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td> </tr>{{/foreach}}</table>';$pattern="/(.*){{(mb_substr)(.*?)}}(.*)/is";$replace="{{\\2\\3}}";$result=preg_replace($pattern,$replace,$str);echo $result;?> mysql语句 关于基于web的文件管理系统 关于遍历文件夹内容问题 php产生随机数字的问题 求两个方法~~获取年龄和获取出生天数!! php中DAO的使用方法?急!!!!在线等! 计时器问题!!! 今天很郁闷,在中国php的信任度真的那么低么? 请教 preg_ 系列函数中正则表达式的旗标含义! php如何学习 怎样将一PHP数组更新到表的对应字段? 为什么post的数据时UTF8.在PHP上面$_POST["text"]就变成GB2312了?
$match = "/(<body\s*>)(.*?)(<\/body>)/";
$str = preg_replace($match , '\\1abcdefg\\3' , $html);
echo $str;//<html><body>abcdefg</body></html>是这个意思吗
<head>
<title>abc</title>
</head>
<body>
<table border="1">
{{foreach sql="select * from z_news limit 0,10" result="news"}}
<tr>
<td>{{$news[NewsID]|if( $news[NewsID] == 1 ){$news[NewsID]="abc";} else {$news[NewsID]="king";} }}</td>
<td>{{$news[Title]}}</td>
<td>{{date("Y-m-d", strtotime($news[UpdateTime]))}}</td>
</tr>
{{/foreach}}
</table><table border="1">
{{foreach sql="select * from z_news order by NewsID desc limit 0,10" result="aaaa"}}
<tr>
<td>{{$aaaa[NewsID]}}</td>
<td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td>
<td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td>
</tr>
{{/foreach}}
</table>
</body>
</html>
<?php
$str='
<td>{{$aaaa[NewsID]}}</td>
<td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td>
<td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td>
</tr>
{{/foreach}}
</table>
';
$pattern="/(.*){{(mb_substr)(.*?)}}{1}(.*)/is";
$replace="{{\\2\\3}}";
$result=preg_replace($pattern,$replace,$str);
echo $result;
?>
<?php
$str='
<td>{{$aaaa[NewsID]}}</td>
<td>{{mb_substr($aaaa[Title], 0, 10, "gb2312")}}</td>
<td>{{date("Y-m-d", strtotime($aaaa[UpdateTime]))}}</td>
</tr>
{{/foreach}}
</table>
';
$pattern="/(.*){{(mb_substr)(.*?)}}(.*)/is";
$replace="{{\\2\\3}}";
$result=preg_replace($pattern,$replace,$str);
echo $result;
?>