【发布时间】:2012-08-17 01:32:34
【问题描述】:
我目前正在开发一个函数来查找 html 文件中引用的所有图像,目前我正在尝试在文件中查找这些子字符串:".bmp"".gif"".jpg"".png" 并且还想找到它们的根,例如:/images/foo/,然后使用这两个子字符串创建一个新字符串:/images/foo/bar.jpg 我知道我将如何连接字符串,但我不知道如何找到实际的子字符串,我觉得现在非常不知所措,非常感谢一些帮助。
【问题讨论】:
-
如果您可以假设格式正确的输入,则无需进行任何连接。只需找到子字符串,然后向后搜索,直到找到
"。一旦找到,您只需根据找到的索引提取字符串。不过,最好使用 HTML 解析器。 -
使用 HTML 解析器并遍历所有
<img>节点,收集src属性的值 -
@Doug:如果 HTML 文档使用不同的引号(例如
')或根本没有引号或其他一些您没有考虑过的诡计,那将失败。如果包含.jpg或.gif的字符串出现在文档中的其他位置(属性值之外),它也会失败。 -
@Doug 我考虑过这一点,但这里有一个来自我的函数的部分谷歌检索示例:(//ssl.gstatic.com/gb/images/b8_3615d64d.png) 我最初的计划是是找到每个子字符串并返回到一个 / 连接但我现在看到即使这样也行不通......即使它在我的一生中都这样做了,并且难以理解我的前进方式找到每个子字符串的位置。
-
@NiklasB.:说得好。这就是为什么它被留下作为评论而不是答案:)。这里需要一个 HTML 解析器。