【发布时间】:2011-09-14 00:21:44
【问题描述】:
我从另一个帖子中得到了这个 RegEx,但它并没有完全发挥应有的作用。
这是模式:/(<[^>]+ (height|width)=)"[^"]*"/gi 和替换:$1"auto"
这是一个典型的替换字符串:
<p width="123" height="345"></p>
现在,我希望它返回 <p width="auto" height="auto"></p>,但它却返回 <p width="123" height="auto"></p>。
您能帮我弄清楚如何替换 HTML 标记中的宽度和高度值吗?哦,我真的希望它也能与小撇号一起使用(例如width='*')。
非常感谢!
【问题讨论】:
-
一般来说,是的,这很麻烦 - 请参阅 stackoverflow.com/questions/1732348/… 以获得关于该主题的精彩讨论。 (X)HTML 太复杂,无法被正则表达式解析。
-
@andyb:有点毫无价值的讨论,因为它与 OP 案例关系不大;并且因为第二个只有少数人阅读过去的笑话并通过实际的技术解释。 (顺便说一句,现代正则表达式实现可以匹配嵌套结构/递归。同样,这里不相关。)
-
@mario 我正在回答@Emil 关于 RegEx + HTML = 麻烦的评论。另外,是什么让您认为 OP 不会阅读所有 cmets?但我同意你的观点,它与原始问题并不真正相关。