Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript highlight.js代码中的链接_Javascript_Jquery_Syntax Highlighting_Highlight.js - Fatal编程技术网

Javascript highlight.js代码中的链接

Javascript highlight.js代码中的链接,javascript,jquery,syntax-highlighting,highlight.js,Javascript,Jquery,Syntax Highlighting,Highlight.js,我用它在我的网站上显示代码。现在我想把突出显示的代码的一些部分添加到链接中。但是链接没有被处理并表示为代码 我的代码就是这样突出显示的: <xml attribute="value">My <a href="test.html">xml content</a> that should be clickable (link)</xml> 我认为当前代码的问题在于它使用jquery而不是.text()只需创建一个textNode并附加该节点,即可转义

我用它在我的网站上显示代码。现在我想把突出显示的代码的一些部分添加到链接中。但是链接没有被处理并表示为代码

我的代码就是这样突出显示的:

<xml attribute="value">My <a href="test.html">xml content</a> that should be clickable (link)</xml>

我认为当前代码的问题在于它使用jquery而不是
.text()
只需创建一个textNode并附加该节点,即可转义任何文本。这对于显示用户提交的数据非常方便。但这确实意味着您的链接将显示为代码而不是HTML

为此,我们需要使用HTML,但它不会显示XML标记,因为浏览器认为它可能是HTML标记。因此,我们需要的是转义XML标记,然后将锚/链接保留为html代码。大概是

var code=var code='XMLCODEHERE'//假设这是来自ajax返回的数据

var escapedCode=代码.replace(/我遗漏了什么吗?似乎工作正常-。你能创建一堆代码吗,因为我创建了并链接了锚标记。我做错了吗?哦,但我正在显示的代码实际上是XML内容。所以我的问题太简单了。用一些元素替换“我应该可以单击的内容”。我现在修改这个问题…问题是什么mfirdaus的回答有问题吗?可能有一些改进,但看起来已经很好了。
<xml attribute="value">My content that should be clickable (link)</xml>
<script src="highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<pre><code id="myCode"><xml attribute="value">My <a href="test.html">content</a> that should be clickable (link)</xml></code></pre>
        $.ajax({
        url: 'GetCode',
        data: {id: id},
        dataType: 'json',
        type: 'get',
        cache: false,
        success: function(node) {
            $("#myCode").text(node.code);
            $('#myCode').each(function(i, e) {
                hljs.highlightBlock(e)
            });
        }
var code= var code='XMLCODEHERE' //let's say this is data from ajax return
var escapedCode=code.replace(/</g,"&lt;") //rough escaping of code
//rough unescaping of anchors
var escapedCodeNotAnchor=escapedCode.replace(/&lt;a /g,"<a ")  
escapedCodeNotAnchor=escapedCodeNotAnchor.replace(/&lt;\/a>/g,"</a>")

$("#myCode").html(escapedCodeNotAnchor) //instead of .(text)