我目前正在研究一个函数来查找 html 文件中引用的所有图像,目前我正试图在文件中找到这些子字符串:".bmp"
"。 gif"
".jpg"
".png"
并且还想找到它们的根例如:/images/foo/
和然后使用这两个子字符串创建一个新字符串:/images/foo/bar.jpg
我知道我将如何连接这些字符串,但我不知道我将如何定位实际的子字符串,我现在感到不知所措,非常感谢您的帮助。
最佳答案
这个问题的“正确”答案应该是促使您使用专为该工作打造的工具。聪明人会写类似 libxml
的东西因为某种原因。重新发明轮子只会让事情变得更加困难。与 libxml
,例如,您可以像这样轻松地遍历 XML 树:
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_ELEMENT_NODE) {
printf("node type: Element, name: %s\n", cur_node->name);
}
“错误”的答案是想出一些“技巧”来查找图像字符串的开头,可以通过查找图像标签 (<img
) 的开头或引号 "
来找到。正如道格在评论中提到的那样。
您会注意到我在引号中标明了正确和错误。我有点纯粹主义者,强烈建议使用面向 XML 的解决方案,因为它完全可以通用且易于扩展(明天您可能会说:哦,我还需要 anchor 文本)。 DOM 解析器使每个后续问题都变得轻而易举。
但是,如果您正在进行概念验证或原型(prototype)(甚至可能是家庭作业),其中所有内容都格式正确并且您没有在野外发布您的代码,那么“错误”的方法可能就足够了。
关于c - 定位给定文件中的所有子字符串实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059362/