1. PHP下如何过滤掉除了汉字、数字和字母外的所有字符包括过滤掉特殊字符
$str=preg_replace('#[^x{4e00}-x{9fa5}A-Za-z0-9]#u','','你sd#^*)好12@3Ab+=45');
echo$str;//输出'你sd好123Ab45'
2. php如何获取中文汉字,在某个字段中的位置
<?php
$mystring = '我是复中国人我是安制徽人我是人';
$findme = '我';
$pos = strpos($mystring,$findme,0);//0表示是否是第一次出现,0的话就是,1的话就不是
//这时候要看中文是什么编码了,是UTF-8的话就是$pos/3,是GBK或GB2312的话就$pos/2,
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
?>
3. php中如何判断内容中是否包含指定的文字
如果不是特别复杂的字符判断,不建议用正则,php的字符串函数完全可以实现,strpos()例如:
$x = "abc张三klllk";
if(strpos($x,"张三") > 0){
echo "ok";
}
当然这样会有一个问题,就是当"张三"出现在字符串开头的时候,结果也为0,
这时候就要在字符串前加一特殊字符来判断。
$x="张三abc";
$x1 = "%**#".$x;
if(strpos($x1,"张三") > 0){
echo "ok";
}
(3)php过滤指定汉字扩展阅读
用explode进行判断PHP判断字符串的包含代码如下:
function checkstr($str){
$needle ='a';//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){return true;
} else{
return false;}
}4. PHP判断是不是包含某个汉字
strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含. stristr: 它和strstr的使回用方法完全一样.唯一的区别是答stristr不区分大小写.
$email = ‘ user中example.com’;
$domain = strstr($email, ‘中’);
echo $domain;
// prints 中example.com
5. php过滤某个字符前面的数字
<?php
$str='(1).文字,(2).其它文字';
$new=preg_replace('/(d)./','',$str);
echo$new;
6. PHP中如何过滤掉非汉字字符
首先需要先把来带有中文的字符串自进行编码转化,由GB2312编码转化为UTF-8编码。
这样是为了PHP正则表达式可以正确的去匹配
然后通过preg_match_all()函数以及相应的中文匹配正则表达式,把所有的中文匹配出来
最后,把匹配到的中文字符串再转为B2312编码,这样做是为了可以在网页编码为GB2312上正确显示。
例如:
<?php
$str = "ddddvvv(,中文.)dfdsfds字符啊.";
//把GB2312编码转化为 UTF-8编码
$str = mb_convert_encoding($str, 'UTF-8', 'GB2312');
//正则匹配
preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $str, $matches);
//把匹配到的数组连接为字符串
$str = implode('', $matches[0]);
//把UTF-8编码转化为 GB2312编码
$str = mb_convert_encoding($str, 'GB2312', 'UTF-8');
echo $str;
//输出 中文字符啊
?>
7. PHP如何过滤 指定文字 不让显示就行
例子:
<?php
$bodytag = str_replace('%body%', 'black','<body text=%body%>');
echo $bodytag;
?>
说明:
<body text=%body%> 代码中的%body% 被black代替, 最终专输出属是 <body text=black>
8. php 怎么样删除指定字符串中的指定字符
用楼上的正则可以解决问题,但如果你是用在项目中的话,你就不得不考虑代码专的效率问题,显然的属,正则表达式的效率是很低的,能不用正则就不要用,切记!
就像现在的问题,你可以这么写:
<?php
$str = "我_们_的_=家+园";
$str = str_replace(array("_","=","+"),"",$str);
echo $str;
?>
这样写是不是简单了很多,又省去了正则匹配的效率问题?!!呵呵!!
9. php 如何过滤汉字啊
用正则过滤,使用[xa0-xff]可以匹配汉字
echopreg_replace('([xa0-xff]+)','',$txt);
10. php匹配特定的中文字符串
<?php
preg_match('/\[尺码参考\](.+?)\[厚度指版数权\]/',$str,$match);
print_r($match);
?>
http://hi-docs.com/php/preg_match.html