利用ob缓冲函数过滤网页关键字

  • 发表时间:2019-04-29 21:49:43
  • 296人已阅读
摘要此函数将打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。巧妙的利用这一点还能过滤关键字

此函数将打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。


<?php
function callback($buffer)
{
  
// replace all the apples with oranges
  
return (str_replace("apples""oranges"$buffer));
}
ob_start("callback");
?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php
ob_end_flush
();
?>

以上例程会输出:

It's like comparing oranges to oranges.

以上例子php官网提供的,不过我们通过这个例子如果实现一个过滤关键字的功能应该会有帮助。例如文章内容和评论区里面我们希望把“走私”替换成“走si”,通常情况下文章和评论是分别存储在两个不同的表中,用php函数替换关键字的话就要替换两次了(文章表替换一次,评论表替换一次)。

用以上例子照葫芦画瓢就方便多了。


常用ob缓冲函数:


ob_start()  开启ob缓冲

ob_get_clean()    获取然后清除ob缓冲区内容

ob_get_contents() 获取ob缓冲内容

ob_get_flush()    获取并送出ob缓冲内容,送到程序缓存后,清空ob缓冲空间

ob_clean()  清空ob缓冲

ob_end_clean()    清空并关闭ob缓冲

ob_end_flush()    送出并关闭ob缓冲

Top