文字列からすべての英数字を削除し、(PHP を使用して) スペースに置き換えようとしています。入力は、ワード、エクセル、ウェブサイト、電子メールなどのさまざまな場所からデータが貼り付けられたテキストエリアから来ています。
私はこの正規表現を使用していました
/[^a-zA-Z0-9\s]/
しかし、まだあることがわかりましたVertical Tabs
(ascii #13)。最終結果に文字と数字のみを含め、改行、タブ、垂直タブなどを含めないようにしたい
どうもありがとう!
垂直タブは、空白文字 ( \s
)に一致します。
英数字以外のすべての文字をスペースに置き換えたい場合は、
preg_replace('/[^a-zA-Z0-9]/', ' ', $string)
alnum 以外のすべてのグループ (連続する文字) を単一のスペースに置き換えたい場合は、次を使用します。
preg_replace('/[^a-zA-Z0-9]+/', ' ', $string)
これを試して:
/[^a-zA-Z0-9 ]/
\s
おそらく垂直タブが含まれています。
\s
おそらく垂直スペースに使用されます。
したがって、それを削除するだけです:
/[^a-zA-Z0-9]/
\s を削除してみてください
/[^a-zA-Z0-9]/