沃梦达 / 编程问答 / php问题 / 正文

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

Match all text between two HTML tags using a regex in PHP(在PHP中使用正则表达式匹配两个HTML标记之间的所有文本)

本文介绍了在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.

这篇关于在PHP中使用正则表达式匹配两个HTML标记之间的所有文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

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

基础教程推荐