/** * Get urls,titles and prices of the product list with class "productLister". * The private variable products is populated. * * @param string $content The string where to find the info * */ private function getProductsUrlTitlePrice($content) { $ulList = Curlib::getElement($content, "<ul class=\"productLister \">", "</ul>"); preg_match_all('/<h3>.*?<a.*?href=\\"(.*?)\\".*?>[\\s]*(.*?)[\\s]*<img/si', $ulList, $match); $this->products["title"] = $match[2]; $this->products["url"] = $match[1]; preg_match_all('/<p class=\\"pricePerUnit\\">[\\s]*.*?([0-9\\.]*)[\\s]*<abbr/si', $ulList, $match); $this->products["unit_price"] = $match[1]; }
public function testGetElement() { $string = "Hello world!-.,'\\ì!*éç°:"; $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", "<div>", "</div>"), $string); $string = ""; $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", "<div>", "</div>"), $string); $string = null; $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", "<div>", "</div>"), $string); $string = "Hello world!-.,'\\ì!*éç°:"; $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", null, "</div>"), "<div>" . $string); $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", "<div>", null), $string . "</div>"); $this->assertEquals(Curlib::getElement("<div>" . $string . "</div>", null, null), "<div>" . $string . "</div>"); }