识别给定单词在哪个标签中

Recognize in which tag given word is?

本文关键字:标签 单词 识别      更新时间:2023-09-26

接下来,我在下面设置这个div,其中某些标签包含[INFO] [/INFO]:

类型
<div id="tags">
[INFO id=“rol”]
Rol -> is a greatest project to add in the same people
[/INFO]

[INFO id=“add”]
Add -> is moment who someone pick the ball and shoot in the cars
[/INFO]

[INFO id=“tree”]
tree -> is tree of a views in the other dimensions
[/INFO]
</div>

我创建了一个用jQuery制作的搜索引擎,你可以在文本框中输入一些东西,然后点击搜索,这样它就会保存变量'SearchText',如下所示:

$(“#buttonGo").click(function() {
var searchText = $(‘#searchField’).val();
});

之后我要做的就是:

  1. 取存储在变量SearchText中的值,并查找div

  2. 然后找到文本,给出警告显示它所在的位置定位INFO标签,例如:

SearchText var = "view in the other";

他必须识别标签[INFO id = "tree"] [/INFO],因为文本位于该标签....内返回的警告应该如下所示:

(Tag: Info, Id: tree, desc:"tree ->是另一个维度的视图树")

我不知道从哪里开始,谁能帮我一下吗?

按照我之前的评论,您可以像这样创建一个INFO对象:

var treeInfo = new Object();
treeInfo.id = "tree";
treeInfo.description = "tree -> is tree of a views in the other dimensions"

下一步,如果你愿意,创建数组来保存info对象:

var infoArray = [];
infoArray.push(treeInfo); 

然后,当您检查提供的文本时,使用一个简单的循环。如:

for (var i = 0; i < infoArray.length; i++) {
     if (infoArray[i].description.indexOf(searchTextVar) != -1){
       //found correct text, do something.
     }
}

最好将for循环包装在函数中,并在找到匹配时返回Info对象。

如果您不想将INFO对象存储在div中,则可以使用此路径。

编辑地址关于数组大小的注释:如果你想使用一大块文本,你可以使用下面的方法,尽管它不一定是最干净/最快的。这只是解决问题的一种方法。

使用这样的正则表达式:'[INFO id=.+?] oncesearchTextVar的索引开始。然后,用类似'[/INFO]的东西从相同的索引中找到结束标记。现在,使用regex匹配中的索引的searchTextVar的子字符串将包含您的标记。

之后,您的结果字符串应该是正确的标记,您可以解析文本并适当地显示它。

如果你处理这么多标签,它可能不是最好的主意,将它们存储在浏览器中…考虑使用数据库或其他存储机制