有如下一段字符<test id="xx" class="xxx">content1</test>
<test id="yy" class="yyy">content2</test>
<test id="zz" class="yyy">content3</test>
<test id="aa" class="yyy">content4</test>请问如何用preg_match_all把content2 content3 content4 解析出来呢,就是依靠test和class两个参数网上找了些方法,但好像都觉得用起来不是很顺手,求最简单的方法,谢谢
<test id="yy" class="yyy">content2</test>
<test id="zz" class="yyy">content3</test>
<test id="aa" class="yyy">content4</test>请问如何用preg_match_all把content2 content3 content4 解析出来呢,就是依靠test和class两个参数网上找了些方法,但好像都觉得用起来不是很顺手,求最简单的方法,谢谢
解决方案 »
- 一个HTML的TABLE使用问题
- apache 的端口被lsass.exe 占用怎么办?
- Apache的环境变量,在哪里设置?急,在线等
- 无法导出为xml
- smarty显示??急!
- 谁能把这段C#代码转成PHP代码,急,在线等!!!
- 新手一问:所有页面在服务器机器上运行正常,但一些页面在客户端无法显示
- PHP语言如何强制TABLE的宽度和高度
- 谁有php做的登陆认证系统代码,急急!!!!!
- 各位大神 求解决 Linux 下 LAMP 环境搭建 扩展编译
- 谁帮我把这个很短的PHP文件改成js的???????????????????????????????????
- 变量相互赋值的问题-变量指向内存的问题
$s = <<<test
<test id="xx" class="xxx">content1</test>
<test id="yy" class="yyy">content2</test>
<test id="zz" class="yyy">content3</test>
<test id="aa" class="yyy">content4</test>
test;
preg_match_all('/(?<=>)[a-z0-9]+/i',$s,$arr);
print_r($arr);
<test id="xx" class="xxx">content1</test>
<test id="yy" class="yyy">content2</test>
<test id="zz" class="yyy">content3</test>
<test id="aa" class="yyy">content4</test>
test;
preg_match_all('/<test[^>]*class="yyy">([a-z0-9]+)<\/test>/is',$s,$arr);
print_r($arr[1]);
$s = <<<test
<test id="xx" class="xxx">content1</test>
<test id="yy" class="yyy">content2</test>
<test id="zz" class="yyy">content3</test>
<test id="aa" class="yyy">content4</test>
test;
preg_match_all('/test[^>]+yyy">([^<]+)</si',$s,$arr);
print_r($arr[1]);
另外,打印输出的时候,显示两个array,能够只显示一个吗
如果在内容中间加点东西,用echo来打印输出可否
比如我把输出给显示为content2***content3***content4这样的格式
我实际需要解析的内容不是这么规范的,而是 <test id="xx" class="yyy" mov="mdm">测试内容1</test> <test id="xx" class="yyy" mov="mdm">测试内容2</test> 这样连在一起的一大段,有很多行,然后保存在一个$content变量中,根据test和class来把测试内容提取出来,想在中间加上分隔符,最后一起echo出来只是提问的时候把它简化了
但发现用这个方法来解析,结果一直为空,请问是因为实际情况中数据连在一起所导致的吗,还是因为后面还有个mov导致了不匹配