我正在尝试使用 curl 和 simple_html_dom 库抓取一些数据,我可以成功抓取数据,但问题是我不想要一些带有数据的文本。这是我正在使用的代码:$price = $html->find("div[id='vi-mskumap-none'] span[itemprop='price']",0)->plaintext;这是html源代码:<div id="vi-mskumap-none" style="" class="u-flL w29 vi-price "> <span class="notranslate" id="prcIsum" itemprop="price" style="" content="515.0">US $515.00</span>它在刮515.00 美元但我想删除美元并且只想要515.00有人可以帮忙吗
3 回答
狐的传说
TA贡献1804条经验 获得超3个赞
如果你知道它只是一个数字,我的方法是:
$price = preg_replace("/[^0-9.\-]+/", '', $price);
这是正则表达式的含义:
[^
意味着我们开始了一个负集。它将匹配不在此集合中的任何内容0-9
表示数字 0 到 9.
是一个句点,以防数字(如您的示例)有小数点(通常您必须在正则表达式中转义句点,因为句点表示“任何字符”,但是当它在这样的集合中(在方括号中)时,您不不必逃避它\-
是一个转义的破折号“-”,我添加了它以防你能找到负数。]
关闭集合+
意味着它可以匹配一个或多个字符(这样它会在一次传递而不是三个传递中替换“US $”,尽管我不知道它是否有区别)
然后我用一个空字符串替换任何匹配的内容(除了数字、句点或破折号之外的所有内容),''
从而有效地删除它。
- 3 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消