gpt4 book ai didi

javascript - 如何从站点地图生成器中排除网址

转载 作者:行者123 更新时间:2023-11-30 16:07:31 27 4
gpt4 key购买 nike

由于我没有在网上找到一个好的(免费的)工具来生成我的站点地图,我决定从头开始创建一个 JavaScript 脚本,一切正常,但由于我不太擅长使用正则表达式,所以我需要一些帮助。

我有这个函数用来处理我的站点地图:

function processSitemap(myUrl,maxLinks,countMe,checkDate,customDate,defPriority,defFreq){
jQuery.post('../?route=ajax',{sitemap:'1', url:myUrl},function(data){
var resData = data.split("::|::");
var resCount = parseInt(resData[0]);
var resLinkData = resData[1];
var resLinks = resLinkData.split("\n");
var ccLinks = [];
jQuery(".linksCount").html('<br/>Crawling Link: '+ myUrl +'<br/>Links Found: ' + resLinks.length);

for (var i = 0; i < resLinks.length; i++) {
var ccData = resLinks[i].trim();
if(jQuery.inArray(ccData, linksArr) == -1){
ccLinks.push(ccData);
countLinks++;
if(countLinks != maxLinks){
jQuery("#resultList").append('&lt;url&gt;'+'\n');
jQuery("#resultList").append(' &lt;loc&gt;'+ ccData + '&lt;/loc&gt;' + '\n');
if(defPriority != 'N/A'){
jQuery("#resultList").append(' &lt;priority&gt;'+ defPriority + '&lt;/priority&gt;' + '\n');
}
if(defFreq != 'N/A'){
defFreqT = defFreq.toString().toLowerCase();
jQuery("#resultList").append(' &lt;changefreq&gt;'+ defFreqT + '&lt;/changefreq&gt;' + '\n');
}
if(checkDate != 'N/A'){
if(checkDate == '1'){
var fullDate = new Date();
var twoDigitMonth = fullDate.getMonth()+1+"";if(twoDigitMonth.length==1) twoDigitMonth="0" +twoDigitMonth;
var twoDigitDate = fullDate.getDate()+"";if(twoDigitDate.length==1) twoDigitDate="0" +twoDigitDate;
var currentDate = fullDate.getFullYear() + "-" + twoDigitMonth + "-" + twoDigitDate;
jQuery("#resultList").append(' &lt;lastmod&gt;'+ currentDate + '&lt;/lastmod&gt;' + '\n');
}
if(checkDate == '2'){
customDate = customDate.trim();customDate=customDate.split('/');
customDate = customDate[2] + "-" + customDate[1] + "-" + customDate[0];
jQuery("#resultList").append(' &lt;lastmod&gt;'+ customDate + '&lt;/lastmod&gt;' + '\n');
}
}
jQuery("#resultList").append('&lt;/url&gt;'+'\n');
}else{
jQuery(".percentimg").fadeOut();
jQuery("#resultList").append('&lt;/urlset&gt;');
jQuery(".genCount").html('<br/>Sitemap generated for ' + countLinks + ' links!');
break;
}
}
}
if(countLinks == maxLinks){
return false;
}
if (countMe == maxLinksCrawl){
jQuery(".percentimg").fadeOut();
jQuery("#resultList").append('&lt;/urlset&gt;');
jQuery(".genCount").html('<br/>Crawler Limit Reached! <br/> Sitemap generated for ' + countLinks + ' links!');
return false;
}
else{
linksArr = linksArr.concat(ccLinks);
myUrl= linksArr[countMe];
countMe++;
if (parseInt(countMe) < parseInt(linksArr.length)) {
processSitemap(myUrl,maxLinks,countMe,checkDate,customDate,defPriority,defFreq);
}
else{
jQuery(".percentimg").fadeOut();
jQuery("#resultList").append('&lt;/urlset&gt;');
jQuery(".genCount").html('<br/>Sitemap generated for ' + countLinks + ' links!');
return false;
}
}
});
}

我希望使用正则表达式从 data 中排除一些不需要的 url,例如

https://example.com/notifications&filter=chats
https://example.com/page&b=repost

什么是最简单的方法?

最佳答案

将以下测试插入回调函数:

function(data){
// ...
for (var i = 0; i < resLinks.length; i++) {
if (resLinks[i].match(/(\/notifications&|&b=repost)/)) {
continue;
}
//...
}
// ...
}

关于javascript - 如何从站点地图生成器中排除网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com