2008-08-27 33 views
8

私のwebformを送信した後、正規表現はサーバ側のユーザ入力(PHP経由)に適用されます。実際の入力が何であるかをユーザーに示すために、クライアント側で同じ正規表現をリアルタイムで実行したいと思います。これは、.NETの代わりにバックエンドのPHPを除いてStack OverflowのAsk QuestionページのPreviewセクションとほぼ同じです。JavaScriptの正規表現をPHPの正規表現にする

PHPとJavaScriptの正規表現を同じにするには、何が必要なのですか?

答えて

1

正規表現のさまざまな実装では、正確にサポートしているものと微妙な違いがあることがよくあります。フロントエンドとバックエンドの両方で結果が同じになることを確実にしたい場合、savestの選択は、PHPバックエンドへのAjax呼び出しを行い、正規表現の両方の評価に同じPHPコードを使用することです。

3

正規表現が単純な場合、正規表現の基本はほとんどの実装で共通するため、問題はありません。細目については

それは両方の実装を検討するのがベストでしょう:あなたはその後、最小公分母のアプローチのために行くされているので、もし

http://www.regular-expressions.info/php.html

http://www.regular-expressions.info/javascript.html

ジャバスクリプトの実装では、おそらくより基本的ですそれを目指す。

1

@LKM AJAXはここではっきりと勝者です。これにより、DRYの原則に従うこともできます。なぜあなたは、JavaScriptコード PHPであなたの解析コードを書こうと思いますか?

+5

役に立てば幸い?これは、ユーザーにとってより速く実行され、より少ない帯域幅を占めるからです。 – TRiG

+3

クライアント側は信頼できませんが、望ましくない場合はHTTP申請をしたくないので、クライアントとサーバーの両方でコードを解析するのが最善の方法です(サーバー解析はあなたがクライアントを信用していないからです!)。 – Adirael

0

JavaScriptの正規表現とPHPのpreg_matchはどちらもPerlに基づいているため、移植に問題はありません。ただし、JavascriptはPerlがサポートする修飾子のサブセットのみをサポートしています。私はあなたがJSONを使用したいことをお勧めしたいの配信方法として

、として最薄のデータ交換フォーマット:2を比較するための詳細情報については

日付(AFAIK)であり、eval()によってJavaScriptオブジェクトに直接変換できます。その悪い男の子をAJAXセッションに入れて、あなたは行くように設定する必要があります。

私は、これはなぜそれが二度書き:)