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);
 }
}
?>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP 字符串分割和比较

    或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在那里不同. 我的思路是单字符串分割为一个个字母(character),这样比较就能精确知道在那个位置不同了. 分隔字符串,使用"str_split"就可以了,语法参考[2].然后输出结果数组,好处是连空格也会作为数组的元素.我之前的例子就是因为前一个字符串包含2个空格,而后一个只有一个.但是输出的时候看到的显示都是一样的. 也可以按照其他分隔符进行分割,如"explode"或者&quo

  • php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 复制代码 代码如下: <?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$index<count($hello);$index++) { echo $hello[$index];echo "</br>"; } ?>

  • PHP preg_replace() 正则替换所有符合条件的字符串

    需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹

  • PHP中strtr字符串替换用法详解

    本文实例讲述了PHP中strtr字符串替换用法.分享给大家供大家参考.具体分析如下: strtr(string,from,to)或者strtr(string,array) 首先针对strtr函数第一种方式,我们看看下面的举例,代码如下: 复制代码 代码如下: <?php echo strtr("I Love you","Lo","lO"); ?> 得到的结果是: 1 I lOve yOu 这个结果提醒我们,1.strtr它是区分大小写

  • php替换字符串中间字符为省略号的方法

    本文实例讲述了php替换字符串中间字符为省略号的方法.分享给大家供大家参考.具体分析如下: 对于一个长字符串,如果你只希望用户看到头尾的部分内容,隐藏掉中间内容,你可以使用这个php函数,他可以指定要隐藏掉的中间字符串的数量 /** * Reduce a string by the middle, keeps whole words together * * @param string $string * @param int $max (default 50) * @param string

  • php支持中文字符串分割的函数

    str_split不支持中文,利用mb_xx函数实现个 /** * Convert a string to an array * @param string $str * @param number $split_length * @return multitype:string */ function mb_str_split($str,$split_length=1,$charset="UTF-8"){ if(func_num_args()==1){ return preg_spl

  • php 字符串替换的方法

    这几天,工作中遇到一个小问题,有一内容类型的字段存储的是语言,因为这写数据是用Excel导入做的,所以为了处理简单,很多的语言就用逗号分隔,把所有语言做一个字符串,这样存入的时候就简单的多.但是由于当初数据质量的问题,有一部分"Chinese"是 "Mandarin Chinese",现在需要把所有的"Mandarin Chinese"改为"Chinese". 这就需要把一个字符串中的部分字符串替换掉.对于这样的问题,一般就是

  • php+正则将字符串中的字母数字和中文分割

    如:$str="php如何将字 符串中322的字母数字sf f45d和中文_分割?";按数字或字母分割. 复制代码 代码如下: $str = "php如何将字 符串中322的字母数字Asf f45d和中文_分割?";$arr = preg_split("/([a-zA-Z0-9]+)/", $str, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);  print_r($arr); 结果 复制

  • php下关于中英数字混排的字符串分割问题

    在网上找了一点时间,发现都不怎样. 后来就自己想了个办法,算是原创吧. 只是用截取加替换的功能. 复制代码 代码如下: function smssubstr($string, $length) { if(strlen($string) <= $length) { return $string; } $strcut = ''; for($i = 0; $i < $length; $i++) { $strcut .= ord($string[$i]) > 127 ? $string[$i].

  • php使用自定义函数实现汉字分割替换功能示例

    本文实例讲述了php自定义函数实现汉字分割替换功能.分享给大家供大家参考,具体如下: header("Content-type:text/html;charset=utf-8"); $str="赵钱孙"; function mbstringToArray($str,$charset) { $strlen=mb_strlen($str); while($strlen){ $array[]=mb_substr($str,0,1,$charset); $str=mb_su

  • PHP 字符串正则替换函数preg_replace使用说明

    1. preg_replace() $msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 $msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 i (PCRE_CAS

  • php字符串分割函数explode的实例代码

    array explode (string $separator, string $string [, int $limit]) 该函数有3个参数,第一个参数$separator设置一个分割字符(串).第二个参数$string指定所要操作的字符串.$limit参数是可选的,指定最多将字符串分割为多少个子串.该函数返回一个由被分割的子串组成的数组. 来看下面的例子,对一个由逗号分隔的多行文本数据进行分析.例1,分割字符串. 复制代码 代码如下: <?php$this_year = 2013;$te

随机推荐