从字符串中获取子字符串的正则表达式 $str = '<p:foreach items="111" var="222">333 </p:foreach>';preg_match_all('/\d+/',$str,$out);print_r($out); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str = '<p:foreach items="111" var="222">333 </p:foreach>'; preg_match_all('/<p:foreach items\s*=\s*[\"\']??([^\"\']+)\s*[\"\']??\s*var\s*=\s*[\"\']??([^\"\']+)\s*[\"\']??>([^<]+)<\/p:foreach>/is',$str,$matchs); echo "match all:",htmlspecialchars($matchs[0][0]),"<br/>";$cnt = count($matchs);for($i=1;$i<$cnt;$i++){ echo "match $i:",$matchs[$i][0],"<br/>";}注意,match all为整个匹配项,因为匹配下来在一个标签内,所以要使用htmlspecialchars函数才能看到源代码,否则只能看到一个333 我这个正则表达式比较长,因为考虑的比较严谨。例如items=的等号之间是否有空格,例如items="你使用的是单引号或是双引号。都可以匹配。如果你的html源代码不是很规则,建议采用我的。 我想统计笔数,可是显示出来的是:Resource id #5请问正确的应该怎么写?????? php上传问题 租一个日PV<=100000服务器一般要多少钱哟 php伪静态化的问题 请教高手一个PHP+mysql查询问题问题? phpQuery 数据抓取疑问 谁有简单的Weblog源程序?只要有数据库和日期更新的哪种,急用!我参考一下!!!!!!!!! ? 如何同时递交两个或两个以上的表单的内容? php怎么用ajax实现博客项目的登陆注册 我的无限级分类做法,节省大量服务器资源 再问音乐播放问题,困惑
preg_match_all('/<p:foreach items\s*=\s*[\"\']??([^\"\']+)\s*[\"\']??\s*var\s*=\s*[\"\']??([^\"\']+)\s*[\"\']??>([^<]+)<\/p:foreach>/is',$str,$matchs); echo "match all:",htmlspecialchars($matchs[0][0]),"<br/>";$cnt = count($matchs);for($i=1;$i<$cnt;$i++){
echo "match $i:",$matchs[$i][0],"<br/>";
}
注意,match all为整个匹配项,因为匹配下来在一个标签内,所以要使用htmlspecialchars函数才能看到源代码,否则只能看到一个333