繁体   English   中英

寻找一种使用javascript搜索html页面的方法

[英]Looking for a way to search an html page with javascript

我想做的是在html页面中查找特定字符串,并在其后读取一定数量的字符,并将这些字符显示在锚标记中。

我遇到的问题是弄清楚如何在页面上搜索我发现的所有与标签或ID相关的字符串。 也希望使它成为我个人使用的油脂猴子脚本。

function createlinks(srchstart,srchend){
    var page = document.getElementsByTagName('html')[0].innerHTML;

    page = page.substring(srchstart,srchend);

    if (page.search("file','http:") != -1)
    {
        var begin = page.search("file','http:") + 7;
        var end = begin + 79;

        var link = page.substring(begin,end);
        document.body.innerHTML += '<a href="'+link+'">LINK</a> | ';

        createlinks(end+1,page.length);
    }       
};

不幸的是,找到链接后,我再次想到了它

辅助指导


  1. 查找JavaScript正则表达式。
  2. 将您的正则表达式应用于页面的HTML(请参见下文)。

不同的正则表达式函数执行不同的操作。 您可以按照建议的那样在文档中搜索字符串,但是由于要搜索的字符串可能会在多个位置列出,因此您必须递归地进行搜索。


在页面中获取文本


  • JavaScript: document.getElementsByTagName('html')[0].innerHTML
  • jQuery的: $('html').html()

注意事项

  1. IE可能要求将元素大写(例如“ HTML”)-我忘记了
  2. 另外,文档中可能需要换行符\\n ,因为您要查找的字符串之间可能存在换行符。

好的,所以在javascript中,整个文档都在DOM树中。 您通过在DOM中递归搜索所需的字符串来搜索字符串。 这是超前的; 我将使用伪代码,因为您想考虑使用的是什么库(如果有)。

function search(node, string):
    if node.innerHTML contains string
       -- then you found it
    else
       for each child node child of node
           search(child,string)
       rof
    fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM