我需要在html页面中获得所有“title”属性的值。 我使用twig模板,所以源代码可以是:
<a href="#" title="some {% func "smth" %} text">
我使用此代码获取标题值:
/<[a-z]+[^>]*\s+(title|alt)\s*=\s*("[^"]*")/
但是当标题有{% func "smth" %}
时,我会得到下一个字符串:
"some {% func "
如何获得完整的字符串?
更新: DOM不是解决方案,因为它会将上面的示例链接解释为
<a href="#" title="some {% func " smth text></a>
答案 0 :(得分:1)
这似乎对我有用:
/<[a-z]+[^>]*\s+(title|alt)\s*=\s*(".*")/
问题在于[^"]
阻止任何引号,例如"smth"
。正则表达式中的结束"
会发现你的字符串结束就好了。