この質問は確かに数回尋ねられていますが、私は正規表現に問題がありますので... PHPでやりたい(単純な)事はここにあります:PHP文字列内の選択された文字を置き換えます。
文字列の不要な文字を置き換える関数を作りたい。 a-z A-Z 0-9 _ - +(){}#äöüÄÖÜspace
他のすべての文字を "_"に変更します。ここではいくつかのサンプルコードはあるが、私はのために記入するのか分からない?????:
<?php
// sample strings
$string1 = 'abd92 s_öse';
$string2 = 'ab! sd$ls_o';
// Replace unwanted chars in string by _
$string1 = preg_replace(?????, '_', $string1);
$string2 = preg_replace(?????, '_', $string2);
?>
出力は次のようになります。 $ string1の:abd92s_öse(同) $ string2の:ab_ sd_ls_o
私はそれをaz、0-9で動作させることができましたが、これらの追加文字、特にäöüを許可するとよいでしょう。あなたのご意見ありがとうございます!
私はブラウザのURLを介してこれらの文字列を渡すのでわからない。さらに特殊な文字を許可すると問題が発生する可能性はありますか? – andreas
@andreas - その場合、** ['urlencode'](http://php.net/manual/en/function.urlencode.php)**をそれらを渡すことを検討してください。彼らがそうでないならば、「äöüÄÖÜ」はあなたにとにかく問題を与えるでしょう。通常、 'и'やその他の非ASCII文字は、ASCII以外の文字でもあるので、どこでも'ööüÄÖÜ'を使うことができます。 –
基本的に 'ööüÄÖÖÜ'を使うことができれば'и'、 'φ'、'ೃೃ'、または非ラテンアルファベットの他の文字には問題がありません。 –