0

文字列からすべての英数字を削除し、(PHP を使用して) スペースに置き換えようとしています。入力は、ワード、エクセル、ウェブサイト、電子メールなどのさまざまな場所からデータが貼り付けられたテキストエリアから来ています。

私はこの正規表現を使用していました

/[^a-zA-Z0-9\s]/

しかし、まだあることがわかりましたVertical Tabs(ascii #13)。最終結果に文字と数字のみを含め、改行、タブ、垂直タブなどを含めないようにしたい

どうもありがとう!

4

4 に答える 4

6

垂直タブは、空白文字 ( \s)に一致します。

英数字以外のすべての文字をスペースに置き換えたい場合は、

preg_replace('/[^a-zA-Z0-9]/', ' ', $string)

alnum 以外のすべてのグループ (連続する文字) を単一のスペースに置き換えたい場合は、次を使用します。

preg_replace('/[^a-zA-Z0-9]+/', ' ', $string)
于 2012-10-10T05:29:53.643 に答える
0

これを試して:

/[^a-zA-Z0-9 ]/

\sおそらく垂直タブが含まれています。

于 2012-10-10T05:30:18.310 に答える
0

\sおそらく垂直スペースに使用されます。

したがって、それを削除するだけです:

/[^a-zA-Z0-9]/
于 2012-10-10T05:31:54.797 に答える
0

\s を削除してみてください

/[^a-zA-Z0-9]/
于 2012-10-10T05:28:59.023 に答える