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

发布于 2024-10-08 04:33:53 字数 668 浏览 0 评论 0原文

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

我遇到的问题是弄清楚如何在页面中搜索我发现的所有与标签或 ID 相关的字符串。也希望将其做成一个greatmonkey脚本供我个人使用。

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);
    }       
};

不幸的是,在找到链接后我想到了它再次循环遍历文档

what I would like to do is to the html page for a specific string and read in a certain amount of characters after it and present those characters in an anchor tag.

the problem I'm having is figuring out how to search the page for a string everything I've found relates to by tag or id. Also hoping to make it a greasemonkey script for my personal use.

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);
    }       
};

what I came up with unfortunately after finding the links it loops over the document again

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乜一 2024-10-15 04:33:53

辅助方向


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

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

获取页面中的文本


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

注意

  1. IE 可能要求元素大写(例如“HTML”) - 我忘记了
  2. 此外,文档可能包含可能需要删除的换行符 \n,因为可能位于您要查找的字符串之间。

Assisted Direction


  1. Lookup JavaScript Regex.
  2. Apply your regex to the page's HTML (see below).

Different regex functions do different things. You could search the document for the string, as suggested, but you'd have to do it recursively, since the string you're searching for may be listed in multiple places.

To Get the Text in the Page


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

Note:

  1. IE may require the element to be capitalized (eg 'HTML') - I forget
  2. Also, the document may have newline characters \n that might want to take out, since one could be between the string you're looking for.
明媚如初 2024-10-15 04:33:53

好的,在 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

Okay, so in javascript you've got the whole document in the DOM tree. You an search for your string by recursively searching the DOM for the string you want. This is striaghtforward; I'll put in pseudocode because you want to think about what libraries (if any) you're using.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文