php抓取网页标签( PHP实现网页内容html标签补全和过滤的方法实例解析)
优采云 发布时间: 2021-12-05 14:01php抓取网页标签(
PHP实现网页内容html标签补全和过滤的方法实例解析)
PHP完成和过滤网页内容html标签的方法总结【2种方法】
更新时间:2017年4月27日10:58:53 作者:网站
本文文章主要介绍了PHP对网页内容的html标签补全和过滤的实现方法,结合示例表单分析了常见的PHP标签检查、补全、关闭、过滤等相关操作技巧。有需要的朋友可以参考
本文介绍了一个示例,说明 PHP 如何实现网页内容的 html 标签补全和过滤。分享给大家,供大家参考,如下:
如果你的网页内容的html标签显示不全,部分table标签不完整,页面乱七八糟,或者你收录了除你内容以外的部分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 .= '';
}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('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
str_replace(array('&', '"', ''), array('&', '"', ''), $string));
}
return $string;
}
检查html($html)解析:
stripslashes():该函数去除由addslashes()函数添加的反斜杠。该函数用于清理从数据库或HTML表单中检索到的数据。
更多对PHP相关内容感兴趣的读者可以查看本站专题:《PHP数据结构与算法教程》、《PHP编程算法汇总》、《PHP排序算法汇总》、《PHP常用遍历算法与技巧》 《总结》、《PHP数学运算技巧总结》、《PHP数组(数组)运算技巧》、《php字符串(字符串)使用技巧总结》、《php常用数据库操作技巧总结》
希望这篇文章能对你的 PHP 编程有所帮助。