gpt4 book ai didi

javascript - 从html文件中获取某些类型的所有文件的完整路径,并使用js/jQuery将它们放入数组中

转载 作者:行者123 更新时间:2023-12-03 12:05:22 25 4
gpt4 key购买 nike

我需要从这样的地方获取路径:

<object>
<p>https://bla-bla-bla/thing.flv</p>
</object>

<p>level/thing.mp3</p>
<ul>
<li>https://thing/otherthing/thing.srt<li></ul>

另一方面,这些文件可以位于 html 文件内的任何位置。

我尝试了一些可能性,但没有成功。

有什么线索吗?

非常感谢!

我需要获取一些具有正确地址的文件名并将它们放入数组中:

myArray[0]='https://bla-bla-bla/othername.flv'
myArray[1]='/level/name.mp3'
myArray[2]='https://text/othertext/name.srt'

..等等

我非常接近使用正则表达式来解决它,我做到了:

var str = document.getElementById("content").innerHTML;

var res = str.match(/=http.*?.flv/gi);

在这种情况下,我得到了摘录,但我得到了围绕它的全部内容。例如。

我需要这个:

'https://this/otherthing/thing.srt'

但我明白了

'more https stuff from other url ...https://this/otherthing/thing.srt even more text...'

唯一的 url,而不是第一个 http 以第一个 .srt 结尾的巨大字符串。我需要一个有效的路径。

最佳答案

由于 .* 会尽可能多地获取匹配字符,因此您需要更具体地说明中间可以包含什么、不可以包含什么。

尝试:

var res = str.match(/https?:\/\/\S+\.flv/gi);

其中 \S 捕获尽可能多的非空白字符。

exclude certain characters ,使用[^...]:

var res = str.match(/https?:\/\/[^\s;]+\.flv/gi);

或者,只需将您的.* lazy instead of greedy位置恰当的 ?:

var res = str.match(/http.*?\.flv/gi);

关于javascript - 从html文件中获取某些类型的所有文件的完整路径,并使用js/jQuery将它们放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25212481/

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