1

特殊文字を " " に置き換えたいと思います。これは、アルファベットと数字のみがサポートされていることを意味します。このコードは今のところ機能しています。

function clean($string) {
   return preg_replace('/[^A-Za-z0-9 ]/', ' ', $string);
}

しかし、ペルシア語 (ファルシ語) 文字も許可しようとすると、$string が空になるという問題が発生します! たとえば、ユーザーから提供された他の例を使用しようとしたとき:

function clean($string) {
return preg_replace('/([^A-Za-z0-9 ])-(^[\x{0600}-\x{06FF}]*$)/', ' ', $string);
}

ファイル名は اذتاتا として保存されます。

どうすればこれを解決できますか?

前もって感謝します!

4

1 に答える 1

2

自分で答えを得ました。ファイルは正しく保存されていました。問題は、サーバーにutf-8がなかったため、これらの文字が表示されたことでした。また、ユーザーが英語とペルシア語のみを使用するように制限する必要がありましたアルファベットと数字私はこの解決策を思いつきました:

$('input').keypress(function( e ) {    
    if(!/([ابپتثجچحخدذرزژشسصضطظعغفقکگلمنوهیء a-zA-Z0-9])+/.test(String.fromCharCode(e.which)))
        return false;
});
于 2014-06-07T14:39:48.247 に答える