在alt标签中查找引号

时间:2010-10-20 23:21:57

标签: regex

我想知道如何使用正则表达式解决以下问题。我们偶尔会遇到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;">

提前致谢!

2 个答案:

答案 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编码。