目前正在使用PHP簡單的HTML DOM分析器,並遇到一個非常奇怪的場景。PHP簡單的HTML DOM分析器刪除字符/ str_replace
我有一組我正在爬行,並使用以下命令獲取信息,我需要的URL:
foreach($urls as $url) {
$html = file_get_html($url);
foreach($html->find('.product4block') as $article) {
$item['title'] = $article->find('.product4text', 0)->plaintext;
$item['link'] = $article->find('.product4text a', 0)->href;
$item['price'] = $article->find('.product_price', 0)->plaintext;
$data[] = $item;
}
}
然後我得到像下面這樣,結果這正是我需要的:
Array
(
[0] => Array
(
[title] => title 0
[link] => link 0
[price] => £26.99
)
[1] => Array
(
[title] => title 1
[link] => link 1
[price] => £27.99
)
[2] => Array
(
[title] => title 2
[link] => link 2
[price] => £30.99
)
)
然後我通過數據循環將其添加到我的數據庫。
foreach($data as $result){
//insert data here//
}
然後我需要從價格中刪除£
符號。對此我只是做了str_replace函數是這樣的:
$price = str_replace('£', '', $result['price']);
出於某種奇怪的原因£
是沒有得到清除。我不知道,如果它的DOM解析器導致問題,或者如果str_replace只是因爲某種原因不工作。
任何原因,這將無法正常工作?
奇,做了一個快速檢查和你的'str_replace'似乎是爲我工作,只是作爲一種檢查你能嘗試更改'str_replace'以刪除價格字符串中的另一個字符。如果刪除它,那麼問題是這兩個'''字符出於某種原因是不一樣的,無論這是由於某種形式的字符編碼,我不是100%確定。 – Mikey