PHP正則匹配中文字串
正則匹配中文漢字根據頁面編碼不同而略有區別
1.GBK/GB2312編碼:[x80-xff]+ 或 [xa1-xff]+
2.UTF-8編碼:[x{4e00}-x{9fa5}]+/u
$str = "使用者名稱123";
//把結果放在$chinese中
//GBK/GB2312使用:
preg_match_all("/[\x80-\xff]+/", $str, $chinese);
//UTF-8 使用:
//preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $str, $chinese);
print_r($chinese);
preg_match("/[\x{4e00}-\x{9fa5}]+/u" , $str);//匹配成功返回true,否則false
在使用UTF-8匹配的時候如果出現亂碼,可以先把$str轉換成utf8格式;
$str= iconv('GBK','UTF-8′,$str);
//或:
//$str= mb_convert_encoding($str,'UTF-8','GBK');
相關推薦
PHP正則匹配中文字串
正則匹配中文漢字根據頁面編碼不同而略有區別 1.GBK/GB2312編碼:[x80-xff]+ 或 [xa1-xff]+ 2.UTF-8編碼:[x{4e00}-x{9fa5}]+/u $str = "使用者名稱123"; //把結果放在$chinese
php 正則匹配中文
保存 not .so UNC 進制數 進制 修正 下劃線 inpu 轉載:http://hi.baidu.com/?_d/blog/item/063b77d5432f8f1aa18bb7fd.html 在javascript中,要判斷字符串是中文是很簡單的。比如:var
PHP正則匹配中文漢字註意
附加 php正則 span family 1.0 匹配模式 ron arr amp preg_match(‘/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u‘, $str) 如上,是匹配字母或者漢字的,一定要在後面加模式修飾符 u , 不然就出錯! u
UTF-8編碼時,PHP如何正則匹配中文漢字?親測可用
這個方法親測可用,程式碼如下: <?php header('content-type:text/html;charset=utf-8'); $input = "^_^,
php 正則匹配出a標簽級a標簽中的內容
har set ext htm file 鏈接地址 header char pre <?phpheader("Content-type: text/html; charset=utf-8"); $str=file_get_contents("https://www.
PHP正則匹配6到16位字符組合(且只能為數字、字母、下劃線)
lin asd fun 整合 bsp pass www. 正則 -m php正則匹配6到16位的字符串。 只允許包含數字、字母、下劃線組成的6到16位字符,符合返回ture,否則返回false。 解答: 6到16位,正則可以這樣寫:{6,16}。 任意的字符6到16位的正則
php 正則匹配包含字母、數字以及下劃線,且至少包含2種
string php code 網上 mat result 自己 滿足 col 新系統註冊功能需對用戶名和密碼做以下要求:包含字母、數字以及下劃線,且至少包含2種; 在網上沒有搜到符合要求的代碼,於是自己對他人代碼做了一點修改,經測試滿足要求。代碼如下: if (!pre
Oracle資料隱式亂碼,正則匹配中文資料失敗
起因:相同資料,供述廠家不同,使用正則匹配時,不同廠家的資料匹配不到。 描述:導致此問題的發生原因為“資料編碼不一致”,如果僅憑肉眼壕無差異。此時需用Convert函式檢視資料編碼,會發現不同廠家的相同資料轉換出來的編碼是不一致的。 附轉碼函式使用方式: 在oracle中,convert函式是用來轉字符
正則匹配中文
背景:專案要做國際化需求,要有中英文切換功能,所以我需要找到程式碼中所有包含的中文。 原理:很簡單,中文在unicode 和 utf-8裡都有一定的編碼範圍,所以我們只需要找出編碼最小和最大的中文即可。 幸運的是中文在unicode 和 utf-8裡編碼的順序是相同的(注:gbk編碼是以拼音順序編碼的,所
正則匹配中文英文字元、資料及標點
/^([\p{Han}\p{P}A-Za-z0-9])*$/u 其中 \p{Han}表示utf-8編碼中的所有中文字元, \p{P}表示中英文標點, A-Z表示大寫字母, a-z表示小寫英文字母, 0-9表示數字, *表示>=0, /u 表示按unicode(utf-8)匹配(主要針對
MySql FIND_IN_SET, SUBSTRING_INDEX, REGEXP正則匹配等字串函式應用
Mysql資料庫提供了比較豐富的字串函式,如上文“談談Mysql 字串連線 CONCAT CONCAT_WS GROUP_CONCAT區別及使用場景”中提到的字串連線函式,本文繼續講述Mysql剩餘常用字串函式的使用注意事項及使用場景。 1、字串長度 CHAR_LENGTH(
php正則表示式 剔除字串中的除了漢字的字元(只保留漢字)
1)utf-8的編碼格式,匹配中文程式碼如下: <?php $str = "utf-8下匹配出中文字串"; $preg = "/[\x{4e00}-\x{9fa5}]+/u"; if(preg_match_all($preg,$str,$mat
PHP-正則 獲取該類字串小括號內字元
$str = 'kk({"code":0,"msg":"操作成功","data":[{"name":Dave,"age":"25"}]})'; $rule='/(?:\()(.*)(?:\))/i'; preg_march_all($rule,$str,$res); var_dump($
正則匹配去掉字串中的html標籤
1.得到超連結中的連結地址:、 string matchString = @"<a[^>]+href=\s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>\s]+))\s*[^>]
php 正則匹配html標籤
$html = ' <a id="01" name="xkmlChoose">哲學</a> <a id="02" name="xkmlChoose">經濟學</a>
python 正則匹配中文字元
正則匹配中文,固定形式:\u4E00-\u9FA5 # -*- coding:utf-8 -*- import re ''' python 3.5版本 ''' words = 'study
shell腳本里面通過正則匹配操作字串的問題
a=$( expr 'helloworld20140501.txt' : '.*\([0-9]\{8\}\).*' ) echo $a linux shell 中可以將命令的結果賦值給變數,$(命令)這種格式將返回命令執行後的結果字串 上面命令執行後,變數a的值是20140
【原創】mysql 正則匹配中文&…
含中文: where name regexp '[^ -~]' 不含中文: where name not regexp '^[^ -~]' 後來說需要查詢日文 參考資料得知: utf-8 (unicode) /u4e00-/u9fa5 (中文) /x3130-/x318f (韓文) /xac00
正則 匹配 中文標點符號 小記
//匹配這些中文標點符號 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥ var reg = /[\u3002|\uff1
PHP正則匹配
PHP提供了很強大的正則匹配功能,具體的正則匹配知識點很多,在這裡不做詳述.只對常用API,以及常見用法的總結.更多請檢視文件PHP手冊(正則表示式) 以下是PHP常見的應用,根據實際應用自定義正則表