网站换皮肤了
javascript preg_match_all的实现
时间:2018-06-14 16:50 浏览:163

摘要

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函数没什么区别!



如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。

本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。


来说两句吧