在我的代碼中,我使用了正則表達式,我在某處使用了正則表達式,但我不明白。 :)正則表達式字符過濾器
preg_match("/^[\p{L} 0-9\-]{4,25}$/", $login))
那p{L}
是什麼意思?我知道它的作用 - 包括國家信件的所有角色。
而我的第二個問題,我想清理遊戲聊天的用戶輸入,所以我開始使用上面提到的正則表達式,但我想允許大多數特殊字符。最簡單的方法是什麼?有人已經準備好了正則表達式來做到這一點?
在我的代碼中,我使用了正則表達式,我在某處使用了正則表達式,但我不明白。 :)正則表達式字符過濾器
preg_match("/^[\p{L} 0-9\-]{4,25}$/", $login))
那p{L}
是什麼意思?我知道它的作用 - 包括國家信件的所有角色。
而我的第二個問題,我想清理遊戲聊天的用戶輸入,所以我開始使用上面提到的正則表達式,但我想允許大多數特殊字符。最簡單的方法是什麼?有人已經準備好了正則表達式來做到這一點?
對於\ p請參閱Unicode character properties基本上它需要字符在特定字符類(字母,數字,...)中。
對於你的過濾器,它取決於你想要過濾什麼,但看看Unicode字符類是我認爲的好辦法(單獨添加任何對你有用的字符)。
正則表達式表示:
與長度每個串4和25之間,以字母開頭,一個空格,數字或破折號。
\ p {L}意思是:與屬性「L」匹配的字符,其中「L」代表「任何字母」。
要了解正則表達式的工作:
這是正確的,添加了約束條件,即匹配的字符串必須從測試字符串的開頭開始,並且必須在測試字符串的末尾結束(由於^和$在正則表達式的開始和結束)。 – 2009-10-15 23:16:27
如果你想包括大部分人物爲什麼不排除你是不是允許的嗎?
您可以用^你的角色來實現這個目的
[^characters I don't want]
免責聲明:黑色房源可能不是最好的方法取決於你想做什麼,並具有比白色的更徹底清單。
只是澄清:你不確定整個正則表達式做什麼?或者你只是不確定\ p {L}部分? – 2009-10-15 21:58:25
\ p {L}只,其餘部分很簡單 – Thinker 2009-10-15 22:43:06