在PHP中使用正则表达式匹配两个HTML标记之间的所有文本

2022-03-29 00:00:00 regex php preg-match

我对正则表达式模式有问题。结果它返回两个数组.以下是我的代码:

$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.

相关文章