Javascript搜索变得简单
见下面Katana314的答案 在花了几天时间研究如何使用正则表达式进行BBcode翻译后,我决定重新发明轮子,现在就是我 我写了一个脚本来搜索BBcode标记,比如[b][/b]或文本中的任何其他[] 我正在寻找一个简单的解决方案来比较我在文本中找到的标记,并将它们与表“array”匹配(如果愿意)。我想这样做,因为最终我将使用数据库来插入和删除BBCODE 我有点喜欢我做替换的方式,因为它很容易填充。而且不需要正则表达式 用数组替换函数:Javascript搜索变得简单,javascript,arrays,Javascript,Arrays,见下面Katana314的答案 在花了几天时间研究如何使用正则表达式进行BBcode翻译后,我决定重新发明轮子,现在就是我 我写了一个脚本来搜索BBcode标记,比如[b][/b]或文本中的任何其他[] 我正在寻找一个简单的解决方案来比较我在文本中找到的标记,并将它们与表“array”匹配(如果愿意)。我想这样做,因为最终我将使用数据库来插入和删除BBCODE 我有点喜欢我做替换的方式,因为它很容易填充。而且不需要正则表达式 用数组替换函数: function bbToHtml(s) {
function bbToHtml(s) {
var p, pairs = [
{ "in": "[b]", "out": '<span style="color:red;">' },
{ "in": "[/b]", "out": '</span>' },
];
for (p in pairs) {
s = s.replace(pairs[p]["in"], pairs[p]["out"]);
}
return s;
}
函数bbToHtml(s){
变量p,成对=[
{“in”:“[b]”,“out”:“},
{“in”:“[/b]”,“out”:“},
];
for(p成对){
s=s.replace(成对[p][“in”]、成对[p][“out”]);
}
返回s;
}
这很简单。我想做的是将我的BBcode与“in”值进行比较
假设我有varBBCode=“[we]”代码>
如何继续查看它是否与我的数组值之一匹配
如果结果是真的,那么我可以只做bbToHtml(BBCode)代码>如果没有,我将跳过它或抛出一个错误。您问题的可能解决方案:
var pairs = [
{ "in": "[b]", "out": '<span style="color:red;">' },
{ "in": "[/b]", "out": '</span>' },
];
function bbToHtml(s)
{
for (var p in pairs) {
s = s.replace(pairs[p]["in"], pairs[p]["out"]);
}
return s;
}
var search = '[we]';
if (pairs[search]) bbToHtml(search);
var对=[
{“in”:“[b]”,“out”:“},
{“in”:“[/b]”,“out”:“},
];
函数bbToHtml(s)
{
for(成对的var p){
s=s.replace(成对[p][“in”]、成对[p][“out”]);
}
返回s;
}
var search='[we]';
if(pairs[search])bbToHtml(search);
我喜欢ES5数组函数
function isBB(str) {
return !pairs.every(function(s) {
return s.in !== str;
});
}
every
表示“如果此函数为此数组的所有值返回true,则返回true”。这是假设您只查找“[b]”
,而不是“[b]”
或任何细微变化