php的正則匹配gbk時,php正則表達式匹配

本文目錄一覽:

PHP中當前文件為GBK或GB2312編碼,怎麼用正則表達式取漢字

if (ereg(‘/[\u4E00-\u9FA5]/’,$str)){

$chn = str_replace(‘/[^\u4E00-\u9FA5]/’,”, $str);

}

判斷是否有中文,$chn=過去非中文字元

PHP正則匹配漢字和半形逗號,開頭和結尾禁止半形逗號、禁止連續兩個半形逗號。自己沒知道OK的,就不要答了

匹配漢字其實與編碼有關係的,UTF8的正則與GBK的正則就會有差別。

我按你的要求改了一個在UTF-8編碼下匹配的,但還沒達到禁止連續兩個半形逗號的要求。你可以先看看,看看有沒有啟發。

$str = “漢,中國,人,字”;

if (preg_match(“/^[^,][\x{4e00}-\x{9fa5},]+[^,]$/u”,$str)) {

print(“合法”);

} else {

print(“不合法”);

}

============

如果未能解決兩個半形逗號的問題,其他樓主也可以降低一下要求,分兩次處理。第一次先替換掉雙半解逗號為一個,再使用正則來匹配。

能解決問題是關鍵,方法可以再優化,對不?

php正則匹配中文亂碼問題

當然亂碼啦,一個漢字在php里是三個字元,你這樣直接用.去匹配任意字元的話,三個.才等於一個漢字。你把一個漢字給截取掉了,當然亂碼了,不信你把你的0,10改成0,11。就不亂碼的,而且只匹配出兩個漢字。漢字不是這樣去匹配的,有專門匹配漢字的正則,

求個正則表達式,PHP下匹配2-15位英文數字下劃線中文,但是數字不能開頭

/^[\\u4e00-\\u9fa5_a-zA-Z][\\u4e00-\\u9fa5\\w]{1,14}$/

不需要轉義的話就把\\改成\

\x80-\xff這個的編碼是GBK

\\u4e00-\\u9fa5這個編碼是UTF-8

不知道是不是這個原因

PHP正則表達式驗證是否含有中文

判斷是否有中文。

if (preg_match(“/[\x7f-\xff]/”, $string)) { echo “true”; }else{ echo “false”; }判斷是否全部是中文

//if (preg_match(“/^[“.chr(0xa1).”-“.chr(0xff).”]+$/”, $str)) { //只能在GB2312情況下使用 if (preg_match(“/^[\x7f-\xff]+$/”, $str)) { //兼容gb2312,utf-8

echo “true”;

} else {

echo “false”;

}

判斷中文和編碼有關 gbk是雙位元組,utf8是三位元組,可以根據中文的範圍來判斷

編碼範圍1. GBK (GB2312/GB18030)

/x00-/xff GBK雙位元組編碼範圍

/x20-/x7f ASCII

/xa1-/xff 中文

/x80-/xff 中文

2. UTF-8 (Unicode)

/一-/龥 (中文)

/x3130-/x318F (韓文

/xAC00-/xD7A3 (韓文)

/u0800-/一 (日文)

ps: 韓文是大於[/龥]的字元

正則例子:

preg_replace(“/([/x80-/xff])/”,””,$str);

preg_replace(“/([一-龥])/”,””,$str);

希望可以採納,謝謝。

正則表達式如何只匹配一個中文字元

php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進位是以

\x

開頭的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272395.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 13:56
下一篇 2024-12-17 13:56

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python正則表達式search()和match()有什麼區別?

    search()和match()都是Python中的正則表達式函數,它們的作用都是在一個字元串中搜索匹配正則表達式的位置,但它們有著不同的使用場景和返回結果。 一、search()…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • MySQL正則表達式替換

    MySQL正則表達式替換是指通過正則表達式對MySQL中的字元串進行替換。在文本處理方面,正則表達式是一種強大的工具,可以方便快捷地進行字元串處理和匹配。在MySQL中,可以使用正…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • Java GBK轉UTF-8詳解

    Java語言是一種編程語言,它是一個高級的、面向對象的、平台無關的語言。Java主要是用來構建Web應用程序,而在Java Web應用程序中將字元串編碼變成UTF-8是非常有必要的…

    編程 2025-04-25
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24

發表回復

登錄後才能評論