20,358
社区成员
发帖
与我相关
我的任务
分享
$html = '这是一段文字一<p>这是一段文字二</p><table><tr><td>这是一段文字三</td></tr></table><div><img src="http://www.baidu.com" alt="产品"/>这是一段文字四</div>这是一段文字五';
preg_match_all('#>([^<>]+)<#', $html, $matches);
var_dump($matches);exit;
结果:
array(2) {
[0]=>
array(3) {
[0]=>
string(23) ">这是一段文字二<"
[1]=>
string(23) ">这是一段文字三<"
[2]=>
string(23) ">这是一段文字四<"
}
[1]=>
array(3) {
[0]=>
string(21) "这是一段文字二"
[1]=>
string(21) "这是一段文字三"
[2]=>
string(21) "这是一段文字四"
}
}
请问,这是一段文字一,这是一段文字五,如何匹配的到?谢谢
preg_match_all('#([^<>]+)<|>([^<>]+)<|>([^<>]+)#', $html, $matches);
这种可以但是没放到同一个数组里去。
$html = '这是一段文字一<p>这是一段文字二</p><table><tr><td>这是一段文字三</td></tr></table><div><img src="http://www.baidu.com" alt="产品"/>这是一段文字四</div>这是一段文字五';
preg_match_all('#>([^<>]+?)<#', $html, $matches);
var_dump($matches[1]);
结果:
array(5) {
[0]=>
string(15) "这是一段文字一"
[1]=>
string(15) "这是一段文字二"
[2]=>
string(15) "这是一段文字三"
[3]=>
string(15) "这是一段文字四"
[4]=>
string(15) "这是一段文字五"
}