设置HTMLEditorExtender以在新窗口中打开链接

时间:2012-08-01 18:43:53

标签: ajaxcontroltoolkit htmleditorkit

我正在尝试使用Ajax Toolkit HTMLEditor(2012年6月发布)来改进用于发布新闻项目和链接(主要是内部资源)的严格内部应用程序。一切都很好,除了我无法让链接创建者创建在新窗口中打开的链接(主要是'target =“_ blank”'标签)。

我已经公开了源代码标签,并试图手动将'target =“_ blank”'标记添加到链接中,但这似乎打破了HTML显示,我的应用程序显示原始HTML代码而不是呈现的HTML 。如果我使用链接创建者并且不改变它创建的链接,一切正常,当然链接在同一窗口中打开。打开或关闭消毒剂没有任何区别。

到目前为止,我还没有发现任何关于如何完成我想要完成的任何内容。那里有什么想法吗?

1 个答案:

答案 0 :(得分:1)

好的,想通了,现在我觉得愚蠢。所需要的只是使用正则表达式来查找链接模式并将其替换为包含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;
}