php的preg_match_all函数,nodejs(javascript)代码实现相同的效果
/**
* php preg_match_all的实现
* @param {*} data 数据
* @param {*} exp 正则表达式
*/
exports.matchAll = function (data, exp) {
var regex = exp;
var Regex = new RegExp(regex, 'mg');
var Matches = data.match(Regex);
matchesArray = new Array();
for (var i in Matches) {
ngRegex = new RegExp(regex);
ngMatches = Matches[i].match(ngRegex);
matchesArray.push(ngMatches);
}
return matchesArray;
}
//将所有的外连转换成内链跳转
var exp = /href="(http.*?)"/;
var output = tool.matchAll(article.Content, exp);
output.forEach(val => {
if (val[1].indexOf(settings.SiteDomain) < 0) {
var urlBase64 = new Buffer(val[1]).toString('base64')
article.Content = article.Content.replace(val[0], 'rel="nofollow" href="/go/' + urlBase64 + '"')
}
});
使用还是蛮简单的,和php的preg_match_all函数没什么区别!
如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。
本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。