【发布时间】:2013-06-05 18:56:52
【问题描述】:
我需要关于正则表达式的帮助,我正在通过 ajax 读取包含以下代码的外部 URL:
<body>
originalAdvertiserLink='http://normaldomain.com/7cc86d4999/'<div id='beacon_d14503cb95' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='http://URL.com/www/delivery/lg.php?bannerid=451&campaignid=91&zoneid=19&loc=1&cb=d14503cb95' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div>
</body>
我需要在 originalAdvertiserLink='' 中提取 URL,我已经使用此代码:
var e = /originalAdvertiserLink=\'([^\']*)/.exec(data);
openxOriginalLink = e[1];
但我还需要提取所有的div标签,我的意思是这部分:
<div id='beacon_d14503cb95' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='http://URL.com/delivery/lg.php?bannerid=451&campaignid=91&zoneid=19&loc=1&cb=d14503cb95' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div>
我如何编写一个正则表达式来仅提取该部分,就像我对上面的 URL 所做的那样?
非常感谢
【问题讨论】:
-
为什么不使用隐藏输入和
data-*属性?不要解析和正则表达式 HTML,它很糟糕而且很容易被破坏。 -
只需将 HTML 解析为 DOM 并访问节点?
-
@Saymon,您只能回复当前活跃在此 cmets 链中的人。 Dystroy 不会看到您的评论。
-
这段代码的目的是什么?当你从 URL 获取 ajax 响应时,会返回什么样的数据(html;json;xml)?
-
修复现有代码比继续处理导致 HTML 正则表达式解析器的可怕代码要聪明得多。
标签: javascript regex