-1
我使用的電子郵件地址有這樣的代碼:PHP不會自動編碼「@」到「 - 」
$a = "[email protected]";
$b = 'b%40b.com';
$c = urldecode($b);
echo ($a . ' ' . $c);
在瀏覽器中正確顯示這兩個變量:[email protected]
但如果我在服務器上使用$ a或$ c作爲用戶名來讀取用戶的帳戶,我會收到錯誤,因爲它們的值是:b — b.com(刪除空間)。
如果我使用調試器在第一行代碼後立即檢查$ a的值,那麼它顯示$ a已經具有「b — b.com」值。所以沒有額外的步驟可以編碼它。
請注意,—不是@符號的html代碼,而是破折號( - )的代碼。
我試過str_replace(),但它不起作用。
PHP版本5.3.8
更新:這是一個錯誤調試器,他們說他們會解決。感謝名單。
顯示代碼,你在哪裏_「讀取用戶的帳戶」_。 – CodeCaster
@CodeCaster我使用YII框架,所以代碼僅僅是:$ USR1 = ar_usr1 ::模型() - > findByAttributes(陣列( \t \t \t \t '用戶名' \t => \t $ C, \t \t \t) );但是變量的值在分配之後已經立即改變(在閱讀記錄之前很久)。 –
更新:這是一個調試器錯誤,他們表示他們會修復。感謝名單。 –