gpt4 book ai didi

php - 转义 JavaScript 中的特殊字符

转载 作者:行者123 更新时间:2023-11-30 08:17:05 26 4
gpt4 key购买 nike

我需要一个 JavaScript 方法来转义所有不是 ( a-z/A-Z/0-9/-/_ ) 的字符

如果字符是 ø,则应将其替换为 oe,如果是 å,则应将其替换为 aa,等等……如果字符不在列表中,则应将其替换为下划线。

如果一行中有 2 个下划线 (__),则应将其替换为单个下划线。

我需要用 JavaScript 和/或 PHP 完成。

最佳答案

String.prototype.slugify = function(){
return this.replace('ø','oe').replace('å','aa').replace(/\W/gi,'_').replace(/_+/g,'_');
}
var x = 'sdfkjshødfjsåkdhf#@$%#$Tdkfsdfxzhfjkasd23hj4rlsdf9';
x.slugify();

按照 .replace('search','replace') 模式添加任意数量的规则。确保使用 .replace(/\W/gi,'_').replace(/_+/,'_') 完成它,这会将 .还要确保以 UTF-8 格式提供它以容纳 ø 等特殊字符。

另一个版本,由 Strager 推荐:

String.prototype.slugify = function(){
var replacements = {
'ø': 'oe',
'å': 'aa'
}
var ret = this;
for(key in replacements) ret = ret.replace(key, replacements[key]);
return ret.replace(/\W/gi,'_').replace(/_+/g,'_');
}

这个版本当然更加灵活和可维护。我会使用这个,尽管我为后代保留了上一个迭代。好主意,斯特拉格!

关于php - 转义 JavaScript 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1386892/

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