【发布时间】:2018-11-06 14:48:14
【问题描述】:
我有一个 javascript 代码,它显示文本区域/文本框中的所有 url。我想显示这些网址的网页标题。但我不想加载整个网站 (get_content),因为它会操纵我页面上的其他 javascript。如何显示标题?
我的代码
<script>
let result = $("#converted_url");
$("#textarea_input").on("input", function() {
result.html("");
var urlRegex = /(?:(?:http|https):\/\/)?([-a-zA-Z0-9.]{2,256}\.[a-z]{2,4})\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
var found = [];
$("#textarea_input").val().replace(urlRegex, function(url) {
let trimmedUrl = url.replace(/^(?:https?:\/\/)?(?:www\.)?/i, "");
if (found.includes(trimmedUrl)) {
return;
}
found.push(trimmedUrl);
var link = '<a target="_blank" href="' + url + '">' + TITLE + '</a>';
result.append(link);
});
});
</script>
应该输出如下内容:
【问题讨论】:
-
正如@IceMetalPunk 在下面提到的,您必须先加载 html,然后解析出您想要和不想要的内容 - 所以只是您的情况下的标题。如果加载页面“操作我页面上的 Javascripts”,那么您将需要更改您的 javascript,使其不会发生冲突。例如,您的 javascript 中的函数可能与加载页面的 javascript 中的函数具有相同的名称,因此请为您的函数采用更多唯一名称 - 但如果您使用 AJAX,则不应发生这种情况。
-
哦,好的。非常感谢您抽出宝贵的时间。
标签: javascript regex wordpress url textarea