我正在尝试使用Ajax Toolkit HTMLEditor(2012年6月发布)来改进用于发布新闻项目和链接(主要是内部资源)的严格内部应用程序。一切都很好,除了我无法让链接创建者创建在新窗口中打开的链接(主要是'target =“_ blank”'标签)。
我已经公开了源代码标签,并试图手动将'target =“_ blank”'标记添加到链接中,但这似乎打破了HTML显示,我的应用程序显示原始HTML代码而不是呈现的HTML 。如果我使用链接创建者并且不改变它创建的链接,一切正常,当然链接在同一窗口中打开。打开或关闭消毒剂没有任何区别。
到目前为止,我还没有发现任何关于如何完成我想要完成的任何内容。那里有什么想法吗?
答案 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;
}