php字符串过滤与替换小结
投稿:shichen2014
这篇文章主要介绍了php字符串过滤与替换,实例总结了php实现字符串过滤与替换的技巧,需要的朋友可以参考下
本文实例总结了php字符串过滤与替换的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
<?php
class cls_string_filter{
//将\n转化为<br/>--囧,这有意思么?
static public function nl2br($string){
return nl2br($string);
}
//将<br/>转化为\n
static public function br2nl($string){
$array = array('<br>','<br/>');
return str_replace($array,"\n",$string);//字符串替换
}
//多个空格只保留一个
static public function merge_spaces($string){
return preg_replace("/\s(?=\s)/","\\1",$string);//(?=pattern)举例:abc(?=kk)能匹配abckk,但不能匹配abcdd
}
//多个<br/>只保留一个
static public function merge_brs($string){
return preg_replace("/((<br\/?>)+)/i","<br>",$string);//---"/"为什么也转义了
}
//过滤字符串中的html标签
static public function strip_tags($string){
return strip_tags($string);
}
//将字符串转换为小写--/--大写
static public function strtolower($string){
return strtolower($string);
}
static public function strtoupper($string){
return strtoupper($string);
}
//过滤字符串开头与结尾的特定字符
static public function trim($string,$char_list='\\\\s'){
$find = array('/[\^\-\]\\\]/S','/\\\{4}/S','/\//');
$replace = array('\\\\\\0','\\','\/');
$char = preg_replace($fine,$replace,$char_list);
$pattern = '^['.$chars.']*|['.$chars.']';
return preg_replace("/$pattern/sSD",'',$string);
}
//过滤字符串中<style>脚本
static public function stric_style($string){
$reg = "/<style[^>]*?>.*?<\/style>/is";
return preg_replace($reg,'',$string);
}
//过滤字符串中html危险代码
static public function strip_html_tags($string){
$reg = "/(\/?)/(script|iframe|style|html|body|title|meta|\?|\%)([^>]*?>)/is";
return preg_replace($reg,'',$string);
}
}
?>
class cls_string_filter{
//将\n转化为<br/>--囧,这有意思么?
static public function nl2br($string){
return nl2br($string);
}
//将<br/>转化为\n
static public function br2nl($string){
$array = array('<br>','<br/>');
return str_replace($array,"\n",$string);//字符串替换
}
//多个空格只保留一个
static public function merge_spaces($string){
return preg_replace("/\s(?=\s)/","\\1",$string);//(?=pattern)举例:abc(?=kk)能匹配abckk,但不能匹配abcdd
}
//多个<br/>只保留一个
static public function merge_brs($string){
return preg_replace("/((<br\/?>)+)/i","<br>",$string);//---"/"为什么也转义了
}
//过滤字符串中的html标签
static public function strip_tags($string){
return strip_tags($string);
}
//将字符串转换为小写--/--大写
static public function strtolower($string){
return strtolower($string);
}
static public function strtoupper($string){
return strtoupper($string);
}
//过滤字符串开头与结尾的特定字符
static public function trim($string,$char_list='\\\\s'){
$find = array('/[\^\-\]\\\]/S','/\\\{4}/S','/\//');
$replace = array('\\\\\\0','\\','\/');
$char = preg_replace($fine,$replace,$char_list);
$pattern = '^['.$chars.']*|['.$chars.']';
return preg_replace("/$pattern/sSD",'',$string);
}
//过滤字符串中<style>脚本
static public function stric_style($string){
$reg = "/<style[^>]*?>.*?<\/style>/is";
return preg_replace($reg,'',$string);
}
//过滤字符串中html危险代码
static public function strip_html_tags($string){
$reg = "/(\/?)/(script|iframe|style|html|body|title|meta|\?|\%)([^>]*?>)/is";
return preg_replace($reg,'',$string);
}
}
?>
希望本文所述对大家的php程序设计有所帮助。
您可能感兴趣的文章:
- 几个有用的php字符串过滤,转换函数代码
- PHP简单字符串过滤方法示例
- 详解PHP函数 strip_tags 处理字符串缺陷bug
- php使用strip_tags()去除html标签仍有空白的解决方法
- PHP strip_tags保留多个HTML标签的方法
- PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
- PHP关于htmlspecialchars、strip_tags、addslashes的解释
- PHP函数strip_tags的一个bug浅析
- PHP strip_tags()去除HTML、XML以及PHP的标签介绍
- php 去除html标记--strip_tags与htmlspecialchars的区别详解
- php字符串过滤strip_tags()函数用法实例分析