有了這個代碼,我可以從字符串在PHP中刪除所有特殊字符:逃生()%[]從字符串PHP
function noSpeCha($string) {
return preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $string);
}
但我需要將它刪除這些字符:
() % [ ]
我不知道如何繼續。
有了這個代碼,我可以從字符串在PHP中刪除所有特殊字符:逃生()%[]從字符串PHP
function noSpeCha($string) {
return preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $string);
}
但我需要將它刪除這些字符:
() % [ ]
我不知道如何繼續。
[^n]
is a regular expression pattern匹配字符的方括號之間不(在這種情況下,它會匹配不是n
的字符)。
如果你想改變你現有的正則表達式匹配%
,(
,)
,[
和]
,你需要從[^...]
塊(與他們一起escape characters)將其刪除。
preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $string);
^^^^^ ^^^^^
它給你留下
preg_replace('/[^a-zA-Z0-9_ \.&-]/s', '', $string);
收拾了一點東西給我們...
preg_replace('/[^a-z0-9_ .&-]/si', '', $string);
從列表中刪除例外,這將只允許字母,數字,下劃線,破折號和空格:
function noSpeCha($string) {
return preg_replace('/[^a-zA-Z0-9_- ]/s', '', $string);
}
你從哪裏得到原來的正則表達式?你有沒有讀過任何正則表達式文檔? – zzzzBov