复制代码 代码如下:

本文实例总结了php字符串过滤与替换的方法。分享给大家供大家参考。具体实现方法如下:

在开发的过程中,经常会遇到需要给别人提供一个输入框,然后别人输入一些ID,或者关键字的东西,例如wordpress的后台的标签输入框:

<?php
$name = ‘Today 3? , very/ cold’;
$name = strtolower($name);
//$name = preg_replace(‘/[^a-z0-9\s]/’,”,$name);
$name = preg_replace(‘/[\.\s+\?,\/”]/’,’_’,$name); //change
spaces
echo $name;
?>

复制代码 代码如下:

图片 1

其中

<?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程序设计有所帮助。

于是我就用正则写了一个表达式,把带有空格换行符之类的替换成逗号。

$name = preg_replace(‘/[\.\s+\?,\/”]/’,’_’,$name); //change
spaces

您可能感兴趣的文章:

  • php中利用explode函数分割字符串到数组
  • php字符串分割函数explode的实例代码
  • PHP 字符串分割和比较
  • php+正则将字符串中的字母数字和中文分割
  • php支持中文字符串分割的函数
  • php下关于中英数字混排的字符串分割问题
  • PHP preg_replace()
    正则替换所有符合条件的字符串
  • PHP
    字符串正则替换函数preg_replace使用说明
  • php 字符串替换的方法
  • PHP中strtr字符串替换用法详解
  • php替换字符串中间字符为省略号的方法
  • php使用自定义函数实现汉字分割替换功能示例

把提交的id带有空格换行符之类的替换成逗号,然后用explode函数切换成数组。

\.\s+\?,\/”为正则表达式,表示查找.   空符号    ?    /     ”       
这五个字符
其他可自行添加,添加的时候要查找正则手册

复制代码 代码如下:

您可能感兴趣的文章:

  • php字符串过滤与替换小结
  • PHP中strtr字符串替换用法详解
  • php实现的替换敏感字符串类实例
  • php中替换字符串中的空格为逗号”,”的方法
  • PHP preg_replace()
    正则替换所有符合条件的字符串
  • PHP序列号生成函数和字符串替换函数代码
  • php 字符串替换的方法
  • PHP
    字符串正则替换函数preg_replace使用说明
  • php字符串替换函数substr_replace()用法实例

$ids=$_POST[“ID”];
$id= preg_replace(“/(\n)|(\s)|(\t)|(\’)|(‘)|(,)/” ,’,’ ,$ids);
$topicids = explode(“,” ,$tids);

这个是增加了小数点的过滤。

复制代码 代码如下:

$ids =
preg_replace(“/(\n)|(\s)|(\t)|(\’)|(‘)|(,)|(\.)/”,’,’,$ids);

OK,经过这样处理后,就不会有问题了。

提示:其实,小编感觉用JS在提交前就处理掉这个问题,是一个更好的选择。

您可能感兴趣的文章:

  • PHP preg_replace()
    正则替换所有符合条件的字符串
  • PHP
    字符串正则替换函数preg_replace使用说明
  • PHP正则替换函数preg_replace和preg_replace_callback使用总结
  • 如何在PHP中使用正则表达式进行查找替换
  • PHP
    html标签正则替换并可自定义正则规则
  • php正则替换变量指定字符的方法
  • php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
  • php中正则替换函数ereg_replace用法实例
  • php
    preg_filter执行一个正则表达式搜索和替换
  • php中preg_replace正则替换用法分析【一次替换多个值】
  • PHP实现通过正则表达式替换回调的内容标签
  • PHP实现将标点符号正则替换为空格的方法

相关文章