3

Ajax Toolkit HTMLEditor (2012 年 6 月リリース) を使用して、ニュース項目とリンク (主に内部リソース) を投稿するために使用される厳密に内部のアプリケーションを改善しようとしています。リンク作成者に新しいウィンドウで開くリンクを作成させることができなかったことを除いて、すべてが非常にうまく機能します(基本的に「target="_blank"」タグを使用)。

ソース コード タブを公開し、'target="_blank"' タグを手動でリンクに追加しようとしましたが、HTML 表示が壊れているようで、レンダリングされた HTML ではなく生の HTML コードがアプリに表示されます。リンククリエーターを使用し、それが作成するリンクを変更しない場合、もちろんリンクが同じウィンドウで開くことを除いて、すべて正常に機能します。サニタイザーのオンオフは関係ありません。

これまでのところ、私が達成しようとしていることを達成する方法についてのドキュメントを発見することはできませんでした. そこに何かアイデアはありますか?

4

1 に答える 1

2

OK、それを理解しました、そして今私はばかげていると感じます。必要なのは、正規表現を使用してリンクパターンを見つけ、それをtarget="blank"タグを含むパターンに置き換えることだけでした。拡張テキストボックスによって生成されたテキストを次の関数にフィードするだけです。

Protected Function addLinkTarget(ByVal strText As String) As String
    Dim pattern As String = "(?<start><a[^>]*)(?<end>>)"
    Dim repl As String = "${start} target=""_blank"" ${end}"
    strText = Regex.Replace(strText, pattern, repl)
    Return strText
End Function

または、C#では

protected string addLinkTarget(string strText)
{
    string pattern = "(?<start><a[^>]*)(?<end>>)";
    string repl = "${start} target=\"_blank\" ${end}";
    strText = Regex.Replace(strText, pattern, repl);
    return strText;
}
于 2012-08-08T15:34:09.487 に答える