2016-04-11 15 views
0

preg_match()を使用して入力をチェックすると、ユーザが空白の文字を入力すると無効な文字がFirefoxに表示されますが、入力した場合は入力します。 Thiscomment、そしてサーバーに送信する前には、preg_match check、それはうまくいく単語の間にスペースを追加します。PHP preg_match()正規表現のパターンが空白と一致する

パターン/^[a-zA-Z0-9 \s\.\-]*$/を使用していますが、\ sで試したことがありますが、まだ運がありません。

コンテンツ/テキストは、Angularによって管理されるcontentEditableテーブルセルからのものです。

PHP 5.6 Firefoxの/クローム最新 角度1.5

もう少し掘りは、何が起こっていることはFirefoxが&lt;br&gt;を挿入されていることを示し、基本的<br>、一度そこに追加されたものを削除すると、それを削除していないました。だから私は正規表現の検証を実行する前にそれをストライプして実験している。

これは、私がサポートしたいshift-returnのような新しい行がテキストに追加されたときに、chromeとしてこれを管理する方法を理解する必要があることを理解する必要があります。単なるテキスト、警告、または表のセルに見ていたとコメントし誰にでもなど

感謝をoutputingとき、\nまたは&lt;br&gt;または<br>を保存し、管理する方法を管理する必要があります。ノイズは申し訳ありません。

私はこのチケットを今すぐ閉じるか、閉じることができない場合は削除します。他の誰かにこの時間を保存するために削除したくないのですが、これを行う方法はわかりません。

+0

また、\ r \ nを追加する必要があります。 –

+0

@BradKentは\ sで覆われています。 – syck

+1

私はここで何が起こっているのかちょっと混乱しています。 'This ^'と 'Thiscomment'の両方は'/^ [a-zA-Z0-9 \ s \。\ - ] * $/'と一致していなければなりません。 – apokryfos

答えて

0

基本的ではっきりと明らかな問題は、ブラウザが改行や改行を処理してその機能を入力用にサポートするために何かを挿入する必要があることです。 Firefoxはちょっと奇妙で攻撃的ですが、ユーザーがすべてのブラウザから処理する必要があるテキストに新しい行を追加する機能をサポートしたいかどうかは重要ではありません。

解決方法は、私がサポートしたいshift-returnのように、これをchromeとして管理する方法と、どのブラウザでも、テキストに新しい行が追加されたときに文字を挿入することです。テキスト、警告、またはテーブルセルにoutputingときだけだから何私が行っていることは、表のセルにstyle="white-space: pre;"を使用して、それであるなど

を保存する方法を管理する必要があり、\ nまたは<BR>または
し、管理します\nはアラートやテキストエリアのようにレンダリングされます。 angularjs newline filter with no other html

関連する問題