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