Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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将变量检测为超链接,并将其显示为链接_Javascript - Fatal编程技术网

Javascript将变量检测为超链接,并将其显示为链接

Javascript将变量检测为超链接,并将其显示为链接,javascript,Javascript,我有一个AJAX返回的javascript变量,它可能包含一个简单字符串或一个href代码,如。我必须检测它是链接还是简单字符串,并相应地显示 即如果是链接,则显示超链接,并以文本为例;如果是简单字符串,则必须按原样显示。 我可以用角度来做这件事 <span ng-bind-html-unsafe="name_of_variable"> 如何使用javascript变量在javascript代码中实现这一点?您需要检查包含url的数据字符串,我相信下面的url会帮助您 如果变量

我有一个AJAX返回的javascript变量,它可能包含一个简单字符串或一个href代码,如
。我必须检测它是链接还是简单字符串,并相应地显示

如果是链接,则显示超链接,并以文本为例;如果是简单字符串,则必须按原样显示。 我可以用角度来做这件事

<span ng-bind-html-unsafe="name_of_variable">


如何使用javascript变量在javascript代码中实现这一点?

您需要检查包含url的数据字符串,我相信下面的url会帮助您

如果变量
data
包含来自AJAX的响应,请执行以下操作:

document.getElementById('where_to_put_it').innerHTML = data;
如果
数据
看起来像超链接,HTML将被解析并可单击。如果是纯文本,它将以这种方式放入文档中

也许这就是您在使用日历插件时所需要的:

var match = data.match(/<a\s+href=['"](.*?)['"]\s*>(.*?)<\/a>/i);
if (match) {
    event = { title: match[2],
              url: match[1]
            };
} else {
    event = { title: data };
}

var match=data.match(/您研究过ng bind html unsafe是如何实现的吗?只需将响应存储在span或div的
.innerHTML
中即可。如果是html,浏览器将对其进行解析并相应地显示。如果只是纯文本,则将按原样显示。您可以使用正则表达式函数来查找这是URL还是简单字符串,然后使用如果它是一个URL,你可以动态添加一个锚元素,比如a=document.createElement('a');a.href='google.com';a.innerHTML=“Example”,并将其附加到你的div@Barmar,请您用小代码详细说明您的答案。我对javascript和angular非常陌生:(不工作,因为我有一个javascript变量,我必须在javascript中的日历插件上显示它。因此,如果它是超链接,则需要一些javascript代码来格式化该变量。我的观点是,如果它的格式为
,则它已经格式化为超链接。如何将其放入日历取决于插件的API。简单地说Calendar插件的title属性显示了该变量值。但它可能将其视为文字字符串,而不是HTML。因此,任何格式都无法将其转换为链接。是的@Barmar,您这次是对的……但必须检查该字符串是否为链接或简单字符串,如果是链接,则必须提取其显示文本并进行修改在日历的标题属性上显示。