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