php 循环抓取网页内容(PHP实现网页内容html标签补全和过滤的方法结合实例)

优采云 发布时间: 2022-01-10 22:11

  php 循环抓取网页内容(PHP实现网页内容html标签补全和过滤的方法结合实例)

  本文文章主要介绍PHP补全和过滤网页内容HTML标签的方法,结合PHP标签检查、补全、关闭、过滤等相关操作技巧分析常用操作技巧举例。朋友可以参考以下

  本文的例子描述了PHP完成和过滤网页内容的HTML标签的方法。分享给大家,供大家参考,如下:

  如果你的网页内容的html标签不完整,有些表格标签不完整导致页面混乱,或者你的内容以外的部分html页面收录在内,我们可以写一个函数方法来完成html标签和过滤去掉无用的html标签。

  php让HTML标签自动补全、关闭、过滤功能方法一:

  代码:

  function closetags($html) {

preg_match_all('##iU', $html, $result);

$closedtags = $result[1];

$len_opened = count($openedtags);

if (count($closedtags) == $len_opened) {

return $html;

}

$openedtags = array_reverse($openedtags);

for ($i=0; $i < $len_opened; $i++) {

if (!in_array($openedtags[$i], $closedtags)) {

$html .= &#39;&#39;;

}else {

unset($closedtags[array_search($openedtags[$i], $closedtags)]);

}

}

return $html;

}

  closetags() 解析:

  array_reverse() :此函数反转原创数组中元素的顺序,创建一个新数组并返回。如果第二个参数指定为true,则元素的键名保持不变,否则键名会丢失。

  array_search() : array_search(value,array,strict),这个函数像 in_array() 一样在数组中搜索一个键值。如果找到该值,则返回匹配元素的键名。如果未找到,则返回 false。如果第三个参数strict指定为true,则只有数据类型和值一致时才返回对应元素的键名。

  php让HTML标签自动补全、关闭、过滤功能方法二:

  function checkhtml($html) {

$html = stripslashes($html);

preg_match_all("/\ $val) {

$string[$key] = shtmlspecialchars($val);

}

} else {

$string = preg_replace(&#39;/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/&#39;, &#39;&\\1&#39;,

str_replace(array(&#39;&&#39;, &#39;"&#39;, &#39;&#39;), array(&#39;&&#39;, &#39;"&#39;, &#39;&#39;), $string));

}

return $string;

}

  checkhtml($html) 解析:

  stripslashes():该函数删除由addslashes() 函数添加的反斜杠。此函数用于清理从数据库或 HTML 表单中检索到的数据。

  以上是PHP完成和过滤网页内容中html标签的两种方法的详细介绍。更多详情请关注第一PHP社区其他相关话题文章!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线