2013-02-21 6 views
0

Итак, у меня есть сайт, на котором я собираю данные непосредственно с другого связанного веб-сайта, чтобы отображать информацию. Для этого я загружаю веб-сайт (используя file_get_contents) и удаляя все, что не применимо с помощью eregi. Моя проблема заключается в том, что, хотя я сделал исследование о том, как преобразовать этот eregi в не устаревший preg_match, я не могу найти решение.Eregi to preg_match conversion

Кто-нибудь достаточно яркий, чтобы понять сложность preg_match?

Вот мой текущий код:

$content = file_get_contents("http://www.vattenfall.se/sv/teckna- elavtal.htm/papp/mac:24432/ma-vf_se-orderflow/ProductSelection.action?orderMode=true&submitPostalCode=&orderFlow.personal.postalCode=87140&submitPostalCode=Visa+priser"); 

eregi('<td style="width: 120px;" class="valuePresentation">(.*)</td>', $content, $data); 

foreach($data as $split) 
{ 
    $split = explode("</td>", $split); 
} 

Это прекрасно работает - но, как я уже говорил, функция устарела, и я хотел бы, чтобы заменить его, если бы я только знал, как!

+0

В preg_match() требуется только добавить разделители в шаблоне регулярного выражения – Winston

+0

Комментарий Winston является лучшим. в вашем случае пунктуация, возможно, потребуется экранировать. Попробуйте: eregi ('_ (. *) _', $ content, $ data); Просмотрите также ссылку на марио. – Lighthart

ответ

1
eregi('some expression', $input, $matches); 

темная магия, скандирует, жуткие вещи ...

preg_match('/some expression/i', $input, $matches); 

Вы можете preg_match_all() вместо этого, хотя.