php 如何过滤掉xml中的特殊字符 php怎样过滤掉特殊字符啊 ☺

www.zhiqu.org     时间: 2024-06-15
function xmlentities( $string, $quote_style = ENT_QUOTES )
  {
      static $trans;
  
      // remove all html entities before xml encoding
      // must convert all quotes to avoid remaining html entity in code
      $string = html_entity_decode($string, ENT_QUOTES);
  
      // xml encoding
      if ( ! isset( $trans ) )
      {
          $trans = get_html_translation_table( HTML_ENTITIES, $quote_style );
          foreach ( array_keys($trans) as $key )
          {
              $trans[$key] = '&#'.ord( $key ).';';
          }
          // dont translate the '&' in case it is part of &xxx;
          $trans[chr(38)] = '&';
      }
  
      // after the initial translation, _do_ map standalone '&' into '&'
      $str_temp = preg_replace( "/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/u"
          , "&"
          , strtr( $string, $trans )
          );
      return $str_temp;
  }


PHP下如何过滤掉除了汉字、数字和字母外的所有字符?包括过滤掉特殊字符~

$str = preg_replace('#[^\x{4e00}-\x{9fa5}A-Za-z0-9]#u','','你sd#^*)好12@3Ab+=45');echo $str; //输出'你sd好123Ab45'

  过滤掉特殊字符,可以考虑使用字符串替换的方法,在php中替换字符效率最高也是最简单字符替换函数str_replace函数。
  使用方法:str_replace(find,replace,string,count)
  参数说明:
   find 必需。规定要查找的值。
   replace 必需。规定替换 find 中的值的值。
   string 必需。规定被搜索的字符串。
   count 可选。一个变量,对替换数进行计数。
  实例:
str_replace("iwind", "kiki", "i love iwind, iwind said");  将输出 "i love kiki, kiki said"
  当然你也可以采取正则替换的方法,该函数是preg_replace


#康翟度# php过滤特殊字符代码应该放在哪里? -
(19367789191): htmlspecialchars 将非html内容输出到网页的时候用 addslashes 在将页面传回的数据放进数据库时用.

#康翟度# php 正则过滤特殊符号◆●★ -
(19367789191): 如果 就是这3个的话 没必要用正则 直接写死了 过滤就行 如果不光这3个,那就得 搞清楚这些字符的范围 每个中文字符都有个编码 0x000000 这个样子的0x000000 ~~0x000111 比如这些范围代表这堆符号 就写这个范围替换就行了

#康翟度# PHP中如何过滤掉非汉字字符? -
(19367789191): 首先需要先把带有中文的字符串进行编码转化,由GB2312编码转化为UTF-8编码.这样是为了PHP正则表达式可以正确的去匹配 然后通过preg_match_all()函数以及相应的中文匹配正则表达式,把所有的中文匹配出来 最后,把匹配到的中文...

#康翟度# php如何过滤汉字里的特殊字符 -
(19367789191): PHP 中的 htmlspecialchars()、preg_replace() 函数可以实现 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体. 预定义的字符是: & (和号) 成为 & " (双引号) 成为 " ' (单引号) 成为 ' < (小于) 成为 < > (大于) 成为 >...

#康翟度# php如何屏蔽敏感字符 -
(19367789191): preg_replace函数过滤脏话<?php$badstring="tmd|妈的|TNND|她娘的";$string="你tmd说什么,她娘的,不是人";echo preg_replace("/$badstring/i",'',$string);?>

#康翟度# PHP怎样过滤中文状态下特殊字符(比如标点符号)? -
(19367789191): function filterGBK_SpecialChars($str) {$str =urlencode($str);//将关键字编码//下面的必须写在一行,不可换行截断$str=preg_replace("/(%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|%2A|%28|%29|%2B|%7C|%5C|%3D|\-|_|%5B|%5D|%7D|...

#康翟度# php 如何过滤特殊字符 如图这是编辑器中的内容放在记事本文件中出现的,小黑格就是特殊字符 -
(19367789191): 小黑点应该是换行符吧!其实可以用 <?php$string = "换行测试".chr(13).chr(10)."第二行测试";$fp = fopen('a.txt','w+');fwrite($fp,$string);fclose($fp); ?>

#康翟度# php直接过滤掉所有符号怎么写? -
(19367789191): 把所有非字母、数字以及下划线的字符全部替换掉,就OK了.preg_replace('/\W/','',$content);

#康翟度# 用php过滤html部分标签 -
(19367789191): $str=preg_replace("/\s+/", " ", $str); //过滤多余回车<br>$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)<br><br>$str=preg_replace("/<\!--.*?-->/si","",$str); //注释<br>$str=preg_replace("/<(\!.*?)>/si"...

#康翟度# 如何去除php字符串中的中文特殊字符 -
(19367789191): <?php$a = "<tt>som在线冲值e</tt><b>ht打算ml</b>";$result = preg_replace('/([\x80-\xff]*)/i','',$a);var_dump($result);?>