Здравствуйте форумчане. Возникла проблема. не знаю как спарсить информацию с таблицы для записи в бд.
Есть таблица, например, (
http://vstup.info/2015/174/i20 ... .html ) в которой храниться список фамилий, балов и тд. Мне нужно преобразовать этот список в sql файл. Как это сделать?
Пытался использовать для этой цели библиотеку simple html dom, но ничего не получается. ХЗ как занести в бд именно первую строку. Может кто то из вас решал такую задачу. Помогите примером. Зарание спасибо)
naster, тебе надо ТОЛЬКО список ФИО, балов и т.д.? То что выше\ниже него не надо? Т.Е. то что находится между <tbody> </tbody> ?
Для балов регулярка готова
include_once 'simple_html_dom.php';
$html = file_get_html('http://vstup.info/2015/174/i2015i174p212780.html');
preg_match_all('/<td>[0-9]{3}\.[0-9]{2,3}<\/td>/is', $html, $sum);
print_r($sum);
$html->clear();
unset($html);
Для ФИО что то не пашет
preg_match_all('/<td>[а-яё\s]{1,}<\/td>/ism', $html, $name);
Помогите, а то я в регулярках совсем зеленый
Без Simple HTML DOM. Дальше думаю разберёшься...
Как то так (+/-)
$file = file_get_contents('http://vstup.info/2015/174/i2015i174p212780.html');
preg_match('|<tfoot><tr>(.*?)</tr></tfoot>|is', $file, $tfoot);
preg_match_all('|title="(.*?)"|is', $tfoot['1'], $title);
preg_match('|</tfoot>(.*?)</table>|is', $file, $body);
preg_match_all('|<tr>(.*?)</tr>|is', $body['1'], $human);
$data = array();
foreach ($human['1'] as $value) {
preg_match_all('|<td>(.*?)</td>|is', $value, $val);
$t = $title['1'];
$v = $val['1'];
$data[] = array(
$t['0'] => strip_tags($v['0']),
$t['1'] => strip_tags($v['1']),
$t['2'] => strip_tags($v['2']),
$t['3'] => strip_tags($v['3']),
$t['4'] => strip_tags($v['4']),
$t['5'] => strip_tags($v['5']),
$t['6'] => strip_tags($v['6']),
$t['7'] => strip_tags($v['7']),
$t['8'] => strip_tags($v['8']),
$t['9'] => strip_tags($v['9'])
);
}
echo '<pre>';
print_r($data);
echo '</pre>';
ValekS, Ооо добре. Можеш ще приклад як їх записати правильно?
naster, print_r($data[0]); это же массив
для записи в базу надо этот элемент массива экранировать и добавить в запрос
Koenig, Можете набросать пример для лучшего понимания