3

これにより、文字列からすべての文字が削除され、数字と英語の文字のみが保持されるはずです。

$txtafter = preg_replace("/[^a-zA-Z 0-9]+/","",$txtbefore);

しかし、特殊文字を削除して、アラビア語や日本語などの言語の文字を保持したいと考えています。

4

2 に答える 2

7

おそらくこれはあなたのために働くでしょう:

$repl = preg_replace('/[^\w\s]+/u','' ,$txtbefore);

これにより、単語およびスペース以外のすべての文字がテキストから削除されます。/uUnicode サポート用のフラグがあります。

于 2013-09-27T21:01:56.943 に答える
2

\p{L}このパターンを使用して、任意の文字と\p{N}ほぼすべての数字に一致させることができます。また、次uのような修飾子を使用する必要があります。/\p{L}+/u

最終的な正規表現は次のようになります。/[^\p{L}\p{N}]/u

また、必ず次の質問を確認してください。

正規表現 \p{L} と \p{N}

于 2013-09-27T20:48:32.697 に答える