我想知道如何使用正则表达式解决以下问题。我们偶尔会遇到Alt标记中引号(“)的问题,这可能会导致渲染问题。是否可以编写正则表达式来查找Img标记,但只有当ALT包含引号时?
例如,可以找到这些
<img src="theImage.gif" width="81" height="24" border="0" style="display:block;" alt="Check "it" out">
<img src="theImage.gif" width="81" height="24" alt="Check "it" out" style="display:block;">
但不是这些
<img src="theImage.gif" width="81" height="24" border="0" style="display:block;" alt="Check 'it' out">
<img src="theImage.gif" width="81" height="24" border="0" style="display:block;" alt="">
<img src="theImage.gif" width="81" height="24" border="0" style="display:block;">
提前致谢!
答案 0 :(得分:2)
这个问题很棘手,因为你最终会得到类似的东西:
<img src="theImage.gif" width="81" height="24" alt="foo" border="bar">
您会将其解释为foo
的alt值和bar
的边框,还是foo" border="bar
的alt值?
这就是为什么在将数据呈现为HTML之前必须正确转义数据的原因。你不能喝一杯茶。
答案 1 :(得分:0)
问题可能是属性值在渲染时需要进行HTML编码。