我有以下代码;
<td class="smallText" width="33%" valign="top" align="center">
<a href="#"><img width="100" height="100" border="0" title=" Genuine Value Pack " alt="Brother TN" src="images.jpg"></a>
<br>
<a href="#">Brother TN 240 Genuine Value Pack</a><br>
$325.00
兄弟TN 240正品超值套装
$ 123.00
兄弟TN 240正品超值套装
$ 54.00
如何使用php删除每个td中的价格?
答案 0 :(得分:1)
假设您可以将目标缩小到给定的dom元素(例如,假设您的所有价格都在您可以专门定位的div中),那么您可以使用正则表达式来删除价格字符串。
这会有风险,因为它会删除您抓取的元素内所有区域的所有价格。
$myHtmlFromContainingElement = getMyDiv(/* sort this out yourself */);
$myHtmlWIthoutPrices = preg_replace('/\$[0-9]{1,10}\.[0-9]{1,10} /','',$myHtmlFromContainingElement);
这样的缺点:
答案 1 :(得分:0)
如果您知道要查找的字符串,则可以这样做 $ find =“$ 41.90”; $ replace =“”; //空字符串 $ myhtmlstring = str_replace($ find,$ replace,$ myhtmlstring);
如果您知道它位于 td 标签中,那么您可以使用 simple_html_dom(http://simplehtmldom.sourceforge.net/) 要么 symfony的dom crawler(http://symfony.com/doc/2.0/components/dom_crawler.html) 解析html并生成所有 td 标记的列表。这会缩小您需要检查的项目。
您也可以尝试使用reg exp替换。搜索“$”后跟数字字符。