最近、ReReplace()関数で次のRegExを使用して、ColdFusionを使用している文字列からHTMLタグを取り除きました。 注意:私はXSSまたはSQLインジェクションからの保護としてこれを使用していません。これは、既存の安全なHTMLを文字列から削除してから、HTMLタイトル属性に表示するだけです。文字列からHTMLを削除する最良の方法は何ですか?
REReplaceNoCase(str,"<[^>]*>","","ALL")
セミ関連の質問I asked how to modify my RegExには、スペースと改行が含まれています。私は、この目的のために正規表現を使用することは適切ではないと言われた、あなたが投稿した正規表現は正しく、実際の作業ではないことかかわらthis post was referenced as an explanation.
は、私は強く疑います。 HTMLは通常の言語ではないので、正規表現を使用してHTMLを解析することはお勧めしません。代わりにHTMLパーサーを使用してください。 (Mark Byers)
これが当てはまる場合、表示する前に文字列からHTMLを削除する適切なツールは何ですか? (HTMLはすでに安全ですが、DBに入る前に消毒されていることに注意してください)。
私はHTMLEditFormat()とHTMLCodeFormat()を認識していますが、これら2つの機能は必要なものを提供しません。以前は特別な文字をHTMLでエスケープした同等のものに置き換えますが、後者はまったく同じですが、文字列の<pre>
タグをラップします。
私は何をしたいのはHTMLからクリーンな文字列であると私はHTMLが必要ない場合がありますHTMLのtitle属性に<a title="My string without HTML goes here">...</a>
を表示する前に改行。たとえば、HTMLと一緒に格納されていないポストからの抜粋を表示したいとします。
チャールズは、説明のための多くのおかげで。私はこれを少しでも開いたままにして、それ以上の入力を促すことができるかどうかを確認します。あなたは "キャラクターの置き換え"を使ってあなたが意味するものを明確にすることはできますか?これを行う特定の機能はありますか?このコンセプトに関するこれ以上の精緻化は評価されるだろう。 – Mohamad
私は ''置き換え(STR、 '\ n' は、 ''、 'すべて')を考えていました。 – Charles
チャールズ、あなたが作った文字列の問題は、私がそれを使うことができないということです。全体の正規表現文字列は二重引用符の間に座って持っているので、二重引用符は、機能をめちゃくちゃにして、エラーの原因となっている...私はこの問題を回避することができますどのように任意のアイデアを? – Mohamad