如何使用正则表达式模式用不带引号的属性值替换标记
考虑以下标记
<p align=center width='100' height=\"200\" attr=test>aasasd</p>
为了使此标记有效,我想在需要的地方加上引号。
从上面的例子中,我想应用引号,因此标记将是:
<p align="center" width='100' height="200" attr="test">aasasd</p>
有谁知道用于此目的的任何正则表达式模式吗?
我正在使用 C#。
编辑: 看来我可能必须以另一种方式做到这一点。有人可以为我提供一个正则表达式来匹配这些值:
align=center
attr=test
谢谢
Consider the following markup
<p align=center width='100' height=\"200\" attr=test>aasasd</p>
In order to make this markup valid i want to wrap quotes where they are required.
From the above exmaple i want to apply quotes so the markup will be:
<p align="center" width='100' height="200" attr="test">aasasd</p>
Does anyone know any regex patterns for this purpose?
Im using C#.
EDIT:
Looks like i might have to do this another way. Can someone provide me with a Regular Expression to match these values:
align=center
attr=test
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正则表达式可能不是解决这个问题的正确方法。看一下 tidyfornet,它是 HTML Tidy 的 .Net 包装器,是一个生成有效 HTML 的 Java 包/来自标签汤的 XHTML。
Regex is probably not the right approach to this problem. Have a look at tidyfornet which is a .Net wrapper of HTML Tidy, a Java package which generates valid HTML/XHTML from tag soup.
像这样的东西应该有效:
/=('|\\"|\s*)([\w])*('|\\"|\s*)\b/
Something like this should work:
/=('|\\"|\s*)([\w])*('|\\"|\s*)\b/