PHP Simple DOM Parser извлекает одно значение из двух URL-адресов

Я использую синтаксический анализатор dom для захвата текста из двух html-документов с одним и тем же классом li, и я получил двойное значение.

<?php 
include_once('simple_html_dom.php');

$links = array (
                "Model_one" => "car.html",
                "Model_two" => "car/edition.html"
            );

foreach ($links as $key=>$link) {
    $html = file_get_html($link);
    $ret[] = $html->find('ul li[class=dotCar]',0)->plaintext;

    $pattern = '/.\d+(?:\.\d{2})?((?<=[0-9])(?= usd))/';
    preg_match_all($pattern, $ret[0], $result);

    $price = array();

    foreach($result[0] as $k=>$v) {
        $price[] = $v; 
        echo $price[0];
    }
}

// $price[0]=  10.55  11
?>

Как я могу связать массив model_key из $links со значением $price, чтобы получить результат:

model_one 10.55
model_two 11.00 

Таким образом я могу получить единственное значение для вставки в таблицу MySQL.


person user3332537    schedule 06.03.2014    source источник
comment
Что возвращает $html->find('ul li[class=dotCar]',0)->plaintext?   -  person Enissay    schedule 06.03.2014
comment
ряд букв и цифр   -  person user3332537    schedule 06.03.2014
comment
Ну, конечно, я догадался, пожалуйста, опубликуйте точный вывод в обоих случаях, чтобы я мог помочь вам изменить код...   -  person Enissay    schedule 06.03.2014
comment
Вам нужно включить html для таких вопросов   -  person pguardiario    schedule 07.03.2014
comment
@ Enissay, pguardario code$html-›find('ul li[class=dotCar]',0)-›plaintextcode вернуть эту строку Только 10,95 долларов США за 2 года или 150,30 долларов США. Всего 11.00 долларов США на 2 года или 160.00 долларов США   -  person user3332537    schedule 09.03.2014
comment
Часть 2. Я извлекаю числа 10,95, 150,30, 11,00 и 160,00 с помощью регулярного выражения code/.\d+(?:\.\d{2})?((?‹=[0-9])(?= usd))/code Я хотел бы вставить одно значение в таблицу mysql, выбрать каждое число для ключа ссылок: model_one 10.95 model_one 150.30 model_two 11.00 model_two 160.00   -  person user3332537    schedule 09.03.2014


Ответы (1)


Возможно что-то вроде этого:

foreach($result as $k=>$v) {
//$v is the price (10.55 etc.)
    foreach($links as $kk=>$vv) {
    //$vv is the link (model_one etc.)
        $priceAndLinks[$vv] = $v;
    }
}

Это может дать вам представление о необходимой логике.

person C_B    schedule 06.03.2014