如何解析HTML/XML并从中提取信息?
我想创建一个页面,其中所有驻留在我网站上的图像都列有标题和替代表示.
我已经给我写了一个程序来查找和加载所有HTML文件,但现在我被困在如何提取src,title并alt从这个HTML:
<img src="/image/fluffybunny.jpg" title="Harvey the bunny" alt="a cute little fluffy bunny" />Run Code Online (Sandbox Code Playgroud)
我想这应该用一些正则表达式完成,但由于标签的顺序可能会有所不同,而且我需要所有这些,我真的不知道如何以优雅的方式解析它(我可以通过char方式,但这很痛苦).
我正在尝试提取锚标记(<a>)的属性.到目前为止,我有这样的表达:
(?<name>\b\w+\b)\s*=\s*("(?<value>[^"]*)"|'(?<value>[^']*)'|(?<value>[^"'<> \s]+)\s*)+
Run Code Online (Sandbox Code Playgroud)
适用于字符串之类的
<a href="test.html" class="xyz">
Run Code Online (Sandbox Code Playgroud)
和(单引号)
<a href='test.html' class="xyz">
Run Code Online (Sandbox Code Playgroud)
但不是没有引号的字符串:
<a href=test.html class=xyz>
Run Code Online (Sandbox Code Playgroud)
如何修改我的正则表达式使其适用于没有引号的属性?或者有更好的方法吗?
谢谢!
更新: 感谢您提供的所有好评和建议.有一件事我没有提到:遗憾的是我必须修补/修改我自己编写的代码.没有时间/金钱可以自下而上重写这些东西.
我正在使用php并且具有content =的字符串
<a href="www.something.com">Click here</a>
我需要摆脱除"www.something.com"之外的一切我认为这可以用正则表达式来完成.任何帮助表示赞赏!谢谢