mmsgold
30.03.2013 - 12:55
preg_match($reg,$var, $arr);
$reg - регулярное выражение
$var - входные данные
$arr - полученные данные в виде массива
вопрос как извлечь любой элемент массива?
циклом пройтись по массиву или просто $arr['ключ ячейки']
mmsgold
30.03.2013 - 13:24
serdg, если б все так просто
$i=0;
preg_match('/<table[^>]*>.*<\/table>/isU',$res, $arr);
while($i!==9)
{
echo $arr[$i];
}
$i++;
echo $i;
}
так не работает
зы прег у меня в цикле тоже в основном коде
arlamar
30.03.2013 - 13:31
Я вот не пойму, что ты сам собираешься циклом проходить?
Там только $arr[0]
Что ты хочешь сделать с этой таблицей?
mmsgold
30.03.2013 - 13:42
<?
$i=0;
require '../simple_html_dom.php';
$html = file_get_html('http://afisha.serpuhov.biz');
foreach ($html->find('h3.textshadow') as $e){
$res=$e->parent()->parent()->parent();
preg_match('/<table[^>]*>.*<\/table>/isU',$res, $arr);
$d[]=$arr;
unset($arr);
}
while(false!==$d)
{
print_r($d[$i]);
$i++;
}
?>
вот код, мне нужно создать такой массив , чтобы я потом мог циклом пройтись по нему и занести в базу,,, данный код зацикливается почемуто
mmsgold
30.03.2013 - 13:51
я думаю дело в том что формируется многомерный массив,,, и вытащить данные из него...
arlamar
30.03.2013 - 14:13
Что заносить в базу?! Я тебе говорю, что эта регулярка берёт из кода таблицу, простой хтмл код таблицы и ложит его в $arr[0]. Что именно из этой таблицы ты хочешь заносить в базу, всю таблицу целиком или может ты пытаешься сохранить в бд отдельные строки, столбцы?
while(false!==$d)
{
print_r($d[$i]);
$i++;
}
Цитата |
данный код зацикливается почемуто |
Почему то?) У тебя d не принимает значение false в цикле, так почему бы ему не зациклиться насовсем?)
И вообще не понимаю к чему там этот массив d созданный тобой, да и вообще, к чему там массивы? Что ты так вцепился в них?)
Zzepish
30.03.2013 - 14:26
Там НЕ будет массива , или будет с ключом 0.Он сформируется только в preg_match_all
mmsgold
30.03.2013 - 19:01
друзья) проблему я решил другим путем, но....
смысл скрипта был таков, мне надо было в arr занести массив(ну или еще куда нибудь),,, чтобы
потом перебирая его положить в базу штук 10 таблиц которые были спарсены вместе с мусором..
----Там НЕ будет массива , или будет с ключом 0.Он сформируется только в preg_match_all ---- о а я не знал??? и где это в документации
а когда в цикле заносил данные в arr , было примерно следующее arr[arr[arr[arr[arr[arr[]]]]]], ну что то типо того и у всех arr[0] была таблица
require 'simplehtmldom/simple_html_dom.php';
$html = file_get_html('http://afisha.serpuhov.biz');
$d = array();
foreach ($html->find('h3.textshadow') as $e){
$res = $e->parent()->parent()->parent();
preg_match('/<table[^>]*>.*<\/table>/isU',$res, $arr);
if($arr[0] != '') $d[] = $arr[0];
}
foreach ($d as $table){
echo "<pre>";
print_r($table);
echo "</pre>";
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.