我必须从旧网站中分离出一 block HTML 来存储在数据库中。我使用 Node.js 和 jQuery 插件来进行基本的拆分,但是有 3 个部分我无法拆分。
1) 产品 ID,位于 url 中。该 id 在最后一个/之后开始,并在以下 -
之前停止2) 价格,在第一个之后开始;并在下面的“”(空格)之前停止
3) 一个名称,从第一个 > 开始,到该字符串“项目列表”之前结束
我不想让人为我做我的工作,但我现在知道如何从弄清楚如何为这些情况提出正则表达式开始。也许朝着正确的方向插入就足够了。
<a href="privateurl/2332/32322-product-name-blah">
<div>
<span>Product Name Blah item listing</span>
<div>
<span>
Our price:<br />
$0.25 USD
</span>
</div>
</div>
</a>
它被简化了一点,但你可以将我需要拆分的 ID、名称和价格显示出来。
最佳答案
var s = '<a href="privateurl/2332/32322-product-name-blah">\n\
<div>\n\
<span>Product Name Blah item listing</span>\n\
<div>\n\
<span>\n\
Our price:<br />\n\
$0.25 USD\n\
</span>\n\
</div>\n\
</div>\n\
</a>';
s.match(/\/([^/-]*)-(?!.*\/.*)/)[1] // => "32322"
s.match(/;([^ ]+)/)[1] // => "0.25"
s.match(/>(.*?) item listing/i)[1] // => "Product Name Blah"
关于javascript - 在 javascript 中拆分 HTML 以存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21956237/