当前位置:  编程技术>php
本页文章导读:
    ▪php过滤html标记的函数strip_tags用法举例(图文)      strip_tags()函数 Strip HTML and PHP tags from a string string strip_tags ( string $str [, string $allowable_tags ] ) 参数 str The input string. 必需。规定要检查的字符串。 allowable_tags You can use the optional second parameter to.........
    ▪php立即刷新缓存输出的方法举例      要实现php立即刷新缓存,输出到浏览器的效果。 可以考虑使用 ob_flush() 和 flush() 两个函数,可以实现立即输出。 不过,在实际应用中,发现不同的服务器之间是不兼容的。 比如,在本地的.........
    ▪php比较字符串相似度的函数用法参考      在过滤垃圾信息时,经常会用到比较字符串的相似度,除了利用cookies、IP限制等技术外,还可以利用PHP自身带的similar_text函数,进行判断用户发帖内容的相似度。 similar_text() 函数计算两个字.........

[1]php过滤html标记的函数strip_tags用法举例(图文)
    来源: 互联网  发布时间: 2013-12-24

strip_tags()函数

Strip HTML and PHP tags from a string
string strip_tags ( string $str [, string $allowable_tags ] )

参数
str
The input string.
必需。规定要检查的字符串。

allowable_tags
You can use the optional second parameter to specify tags which should not be stripped.
可选。规定允许的标签。这些标签不会被删除。

Note: HTML comments and PHP tags are also stripped. This is hardcoded and can not be changed with allowable_tags .
注释:该函数始终会剥离 HTML 注释。这点无法通过 allowable_tags 参数改变。

返回值
Returns the stripped string.

例子,清除html中的某个特定标签,其余标签保留。
 

代码示例:

<?php
/**
* 清除html特定标签
* edit by www.
*/
function strip_selected_tags($text, $tags = array())
{
$args = func_get_args();
$text = array_shift($args);
$tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags;
foreach ($tags as $tag){
if( preg_match_all( '/<'.$tag.'[^>]*>([^<]*)<\/'.$tag.'>/iu', $text, $found) ){
$text = str_replace()($found[0],$found[1],$text);
}
}

return preg_replace( '/(<('.join('|',$tags).')(\n|\r|.)*\/>)/iu', '', $text);
}

$str = "123";
echo strip_selected_tags($str,array('b'));
?>

例2,strip_tags 过滤html标签 
 

代码示例:
<?
$text="<p>这是<b>测试</b><br /></p>";
echo "原始:".$text."<br />\n";
echo "保留b:".strip_tags($text,"<b>")."<br />\n";
echo "保留b p:".strip_tags($text,"<p><b>")."<br />";
echo "保留不了br:".strip_tags($text,"<br />");
?>
 

如下图所示:
 

保留不了<br />怎么办?

是因为它有空格,其实如果<p > 这样也是不行的

把<br />替换为<br/>吧:
 

代码示例:
str_replace("<br />","<br/>",$text); 

再:
 

代码示例:
strip_tags($text,"<br/>");

您可能感兴趣的文章:
php去除HTML标签的二种方法
php 去除多余的HTML标签
php用strip_tags完整去除所有html标签的实例分享
php删除html标签的三种方法分享
php删除html标签及字符串中html标签的代码
php 去除html标记之strip_tags与htmlspecialchars的区别分析
php删除字符串中html标签的函数
去掉内容中 html 标签的代码
提取html标签的php代码
php正则过滤html标签、空格、换行符等的代码示例
php去除html标签获得输入纯文本文档strip_tags
php使HTML标签自动补全闭合函数的代码
php实现html标签自动补全的代码
thinkPHP的Html模板标签的使用方法


    
[2]php立即刷新缓存输出的方法举例
    来源: 互联网  发布时间: 2013-12-24

要实现php立即刷新缓存,输出到浏览器的效果。
可以考虑使用 ob_flush() 和 flush() 两个函数,可以实现立即输出。

不过,在实际应用中,发现不同的服务器之间是不兼容的。

比如,在本地的环境(WIN XP+apache2+PHP5.2版本)下,以下代码可以立即输出内容:

<?php
ob_start(); //打开输出缓冲区
for($i=0;$i<1000;$i++){
echo $i."<br>";
ob_flush();
flush();
}
?>
//edit by www.

但相同的代码,放在服务器环境(WIN 2003 SERVER + APACHE + PHP5.2.5)后,上面的代码并不能立即输出。

对于php函数 ob_flush() 和 flush() 的理解:
“ob_flush 是刷新PHP自身的缓冲区。

flush 只有在PHP做为apache的Module(handler或者filter)安装时,才有实际作用,它是刷新WebServer(可以认为特指apache)的缓冲区,即刷新到浏览器输出。
有些Apache的模块,比如mod_gzip,可能自己进行输出缓存,这将导致flush()函数产生的结果不会立即被发送到客户端浏览器。

而 IE浏览器 只有当接受到的 4096个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容(原因:Nginx有fastcgi 缓冲区,数据超出缓
冲区大小、或程序执行完,才会将内容输出到客户端: fastcgi_buffer_size 4k; )。

二者的正确使用顺序,应该是:先ob_flush, 然后flush。

当然,在其他sapi下,不调用flush也可以,但为了程序的兼容性,建议还是这样使用吧。

因此,在远程WIN 2003 SERVER服务器上,需要保证每次输出前加入以下语句:
 

代码示例:
echo str_repeat(" ",4096); //确保足够的字符,立即输出
 

重复空格的语句在 Linux 服务器下,是不需要的。
注意:Linux服务器下,apache会自动开启 gzip压缩的,而gzip压缩会使 flush() 失效。

对于 Linux服务器,需要关闭 gzip 压缩模式,方法如下:
在当前目录下.htaccess中,添加:
SetEnv no-gzip dont-vary
重启apache,使配置生效。

另外,为了不在每次 echo 后加 ob_flush(); 和 flush(); ,
可以在文件的开头部分加入 ob_implicit_flush(1); 即可。

修改后的代码(兼容IE/firefox):

<?php
ob_start(); //打开输出缓冲区 
ob_end_flush(); 
ob_implicit_flush(1); //立即输出
for($i=0;$i<1000;$i++){
echo str_repeat(" ",4096); //确保足够的字符,立即输出,Linux服务器中不需要这句
echo $i."<br>";
sleep(1);
}
?>
//edit by www.

    
[3]php比较字符串相似度的函数用法参考
    来源: 互联网  发布时间: 2013-12-24

在过滤垃圾信息时,经常会用到比较字符串的相似度,除了利用cookies、IP限制等技术外,还可以利用PHP自身带的similar_text函数,进行判断用户发帖内容的相似度。

similar_text() 函数计算两个字符串的匹配字符的数目,也可以计算两个字符串的相似度(以百分比计)。

例子,注意Mysql_query、Mysql_fetch_array及similar_text的用法:

<?php
/**
* 比较字符串的相似度
* edit by www.
*/
require('conn.php');
$sql="select title from content order by id desc limit 20"; //判断标题相似度
$result=mysql_query($sql,$conn);
$cf=0;
while($row=mysql_fetch_array($result)){
similar_text($row['title'], $title, $percent); //比较相似度 存放于$percent
if($percent>90){$cf=1;break;} //飘易注:相似度高于90% 则判断重复
}
if($cf==1){
echo "<SCRIPT language=JavaScript>alert('抱歉!禁止发布重复信息!');";
echo "this.location.href='vbscript:history.back()';</SCRIPT>";
mysql_close();
exit();
}
?>

代码说明:
其中title字段可以扩展成其他字段,如 content 字段,也一样的比较相似度。


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
docker中文入门学习手册 iis7站长之家
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3