我正在編寫一些代碼,以便在使用AJAX驗證表單時向用戶提供實時反饋。我已經檢查了長度,如果該字段是空的。現在我想讓它清理用戶輸入,並且如果sanatized輸入與用戶原始輸入不同,那麼告訴他們哪些字符不被允許。通過AJAX向用戶報告已過濾的用戶輸入
我到目前爲止編寫的代碼除了一些字符以外最着名的符號'£'沒有響應。我認爲它涉及到json_encode及其編碼。
下面是代碼:
$user_input = 'asdfsfs£';
$strip_array = str_split(strip($user_input));
$orig_array = str_split($user_input);
$diff_array = array_diff($orig_array,$strip_array);
$diff_str = implode(', ',$diff_array);
$final = json_encode($diff_str);
function strip($input){return htmlentities(strip_tags($input),ENT_QUOTES);}
希望有人能想出一個解決方案。
我的猜測是字符串中存在unicode字符。 PHP不是unicode意識到的,所以它會搞亂字符串 - >數組轉換。不確定問題究竟在哪裏,或者如何解決。 – 2010-05-17 14:45:30
是的,我認爲它與此有關..我注意到,在PHPED中,如果我調試它並查看字符串的內容,則總是在前面有一個奇怪的'A'字符。 – JimBo 2010-05-18 10:23:06