正则表达式 - 解析 Twig 模板
我需要获取 html 页面中所有“标题”属性的值。 我使用树枝模板,因此源代码可以是这样的:
<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>
I need to get value of all "title" attributes in html page.
I use twig templates so source code can be like:
<a href="#" title="some {% func "smth" %} text">
I use this code to get title value:
/<[a-z]+[^>]*\s+(title|alt)\s*=\s*("[^"]*")/
but when title has {% func "smth" %}
i get next string:
"some {% func "
how to get full string ?
Update: DOM isnt a solution because it will interprete the example link above as
<a href="#" title="some {% func " smth text></a>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这似乎对我有用:
问题是
[^"]
阻止任何引号,例如"smth"
。结束"
在你的正则表达式中会找到字符串的结尾就好了。This seems to work for me:
The problem was that the
[^"]
blocks any quotes, such as"smth"
. The closing"
in your regex will find the end of your string just fine.