PHP正则表达式如何匹配HTML标签

PHP正则表达式如何匹配HTML标签,第1张

这个问题类似求括号配对. 用正则方法可能不行. 可以这样:

1) 字符串分析法求解: 建立一个计数器, 同时从前向后扫描 html 内容, 从要选择的段落开头开始, 每次读到一个 <td ..> 标签, 计数器加一, 每次读到一个 </td> 标签, 计数器减一, 如果 没有意外, 当计数器减为零时, 就找到了配对的 td 结束标签.

2) 用 XmlDocument 读取整段 html, 然后利用 DOM 的一系列方法选择出你要的内容.

通过仔细阅读问题描述,样本采用 html 格式编写,其内容为中英文互译,如问题所要求的:“正文中的,英文单词都匹配出来”。

提供一下思路:

建议可以将问题简化一下,即只取正文中的英文部分。

通过观察如上提供的样本中,大部分的英文部分都以标签 <div class="set_en">...</div>(其中有一个 div 标签没有配对) ,则步骤如下:

1、先编写正则取出标签中的内容:

2、再对每个英文句子,取出其中的单词:

推荐使用querylist

<?php

header("Content-type:text/htmlcharset=utf-8")

require 'QueryList/QueryList.class.php'

$url = "要抓取的网站"

$reg = array(

    "title" => array("a","text"),

    "src" => array("a","href"),

)

//$rang = "[id^=post-]"

$hj = QueryList::Query($url,$reg)

print_r($hj->jsonArr)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6184264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存