在PHP中使用正则表达式匹配两个HTML标记之间的所有文本
我对正则表达式模式有问题。结果它返回两个数组.以下是我的代码:
$code = preg_match_all("/< style>(.*?)</style>/",$code,$matches);
var_dump($matches);
作为我设置的测试:
$code = ">< xxxxx> try blah fooo blah < /xxxxx> idfidf oh < x>< /x> < style> blah blah blah style1 < /style>< style>blah blah style 2 x< /style>
它返回2个数组,我是说
$matches = array
0 => array
0 => string '< style> blah blah blah style1 < /style>' (length=38)
1 => string '< style>blah blah style 2 x< /style>' (length=34)
1 => array
0 => string ' blah blah blah style1 ' (length=23)
1 => string 'blah blah style 2 x' (length=19)
我想要的匹配项在第二个数组中。我在标签之间加了空格,因为编辑器没有显示HTML标签。
解决方案
您是否尝试过:
echo $matches[0];
echo $matches[1]; // and so on, depend in the number of matches.
相关文章