1
我有一個很長的字符串,我想用PHP的preg_replace
來清理白名單。這些數據已經有些編碼了,並且都是ANSI的,不需要擔心Unicode。非常簡單的RegEx表達式不起作用
我想要做的是將特定白名單外的任何字符轉換爲破折號。
preg_replace("[^0-9A-Za-z/\-_.?=:]", "-", $input);
我的理解是,[]
是一個字符集,然後我開始寫我想允許,沒有逃脫這裏所需要的字符,以^
否定它。
但它不工作:串出來的preg_replace
完全一樣,進去如果我把一個%
的%
出來,我不希望出現這種情況,我想它轉換成一個破折號。 。
謝謝你的時間。
驚人!這是固定的,非常感謝。我會盡可能標記答案。 – niemiro
不客氣,很高興幫助。 – anubhava