有如下一段字符<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两个参数网上找了些方法,但好像都觉得用起来不是很顺手,求最简单的方法,谢谢
解决方案 »
- phpmyadmin中查看中文字符乱码问题。
- 大哥帮我看下这段php代码哪里有问题。
- php ajax 技术
- 哪个php的编译器更好用?
- PHP加速器问题???
- 网络计时牌
- 我在php中为什么不能用Header("Location:index.php")
- 我數据表一行的欄位很多太長用什麼方法解決, 我不想用瀏覽器底部的滑塊,想在頁面內做到???
- 杨晨受伤了!郝董替不了全场,谢晖状态不好,多哈气温38度,湿度90%,怎么办?
- php socket.io client 实现 Acknowledgement Callback?
- 谁帮我把这个很短的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导致了不匹配