Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Какой принцип построения парсера !?
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Какой принцип построения парсера !?

Страниц (1): [1]
 

1. kappa - 11 Ноября, 2011 - 16:39:05 - перейти к сообщению
Добрый вечер. Впервые сталкиваюсь с парсингом, так что сильно не судите.
Хочу понять какой принцип построения парсера такого вида.
Если данные нужно получить с прайса отфильтровать и сохранить в БД.
2. EuGen - 11 Ноября, 2011 - 16:45:52 - перейти к сообщению
Если данные в XML, то все просто, http://php.su/functions/?simplexml_load_string как вариант. И далее - работать с массивом, заполняя БД.
Если файл - csv то, например, http://php.su/functions/?fgetcsv
Если формат другой, то в общем случае это - регулярные выражения.
preg_match_all - даст тот же массив.
3. kappa - 11 Ноября, 2011 - 17:07:39 - перейти к сообщению
EuGen
Спасибо, даже и не знал про simplexml_load_string, а уж тем более про .csv.
Но вот что-то не пойму как бы выглядело если файл в таком виде:

Цитата:
Название :
Вид:
Цена:

Название :
Вид:
Цена:


то если через
PHP:
скопировать код в буфер обмена
  1.  $xml = simplexml_load_string($string);
  2. foreach($xml as $kay => $value) {
  3.  
  4. }


а как это можно записать в БД чтобы было две отдельные строки ?
4. vectorserver - 11 Ноября, 2011 - 17:14:47 - перейти к сообщению
Можно так.

PHP:
скопировать код в буфер обмена
  1.          $xml = simplexml_load_string($string);
  2. foreach($xml as $k) {
  3.  
  4.  
  5.  
  6. mysql_query("INSERT INTO connection SET
  7.                 cena='{$k['cena']}',
  8.                 vid='{$k['vid']}',
  9.                 name='{$k['name']}',");
  10. }
5. kappa - 11 Ноября, 2011 - 17:19:38 - перейти к сообщению
vectorserver
Точно, спасибо!

 

Powered by ExBB FM 1.0 RC1