PHP: #print_email\('(.*?)','(.*?)'\);#is => PHP: Array ( [0] => Array ( [0] => print_email('mail','yandex.ru'); ) [1] => Array ( [0] => mail ) [2] => Array ( [0] => yandex.ru ) )
Работает! Спасибо! Я проверял на пыхе- он выдаёт ошибку. Проверил на локалке всё работает х.з. в чём дело.
экстросенсы в отпуске =\ попробуй закоменить кавычки и запятые ----------------------------------------------- теперь я спрошу PHP: <Files .htaccess> Order deny,allow Deny from all </Files> <IfModule mod_php4.c> php_value session.use_trans_sid 0 </IfModule> <IfModule mod_deflate.c> <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule> <IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule> AddDefaultCharset utf-8 Options +FollowSymLinks Options -Indexes RewriteEngine On #RewriteBase / RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*) $1 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?category=$1 [L] RewriteCond %{HTTP_HOST} ^www\.host\.co\.cc$ [NC] RewriteRule ^(.*)$ http://host.co.cc/$1 [R=301,L] как это адаптировать под nginx?
#Wolf#, krypt3r Зачем лишние телодвижения? Модификаторы is и тд PHP: $var = "<script>print_email('mail','yandex.ru');</script>"; if(preg_match("#print_email\('(.*)','(.*)'\)#",$var, $m)) print_r($m);
Вот грубо, на скорую руку: PHP: <?php $fp = file_get_contents('http://wap.gismeteo.ru/gm/normal/node/prognoz_week/6/?field_wmo=2778&field_index=2778&sd_field_date=gen_past_date_0&ed_field_date=gen_past_date_-6&field_tod=2'); ################################################ ПАРСИМ # Ясность неба # if(preg_match_all('#<div style="font-size: 9px; padding: 0 0 3px 0; font-family: tahoma;">(.*)</div>#Uis',$fp,$osadki)) { $osadki = array_map('strip_tags', $osadki[1]); $osadki = array_map('trim', $osadki); } # Цельсий # preg_match_all('#<span style="color: (darkblue|\#cc0000);">(.*)</span>#',$fp,$cel); # День # if(preg_match_all('#<a href="/gm/normal/node/prognoz_day/6/\?field_wmo=.*">(.*)</a>#Uis',$fp,$day)) { $count = count($day[1]); for ($i=0;$i < $count; $i++) { $days[] = strip_tags($day[1][$i]); $i++; } } ################################################ НАПАРСИЛИСЬ for ($i=0, $o=0; $i<=6; $i++) { echo $days[$i].'<br>'; echo $osadki[$o].'<br>'; $o++; echo $osadki[$o].'<br>'; echo $cel[2][$i+1].'<br><hr>'; } ?> Результат:
m0Hze http://pastebin.ru/309582 Но лучше было бы парсить откуда нибудь отсюда: http://gismeteo.ru/city/busy/?city=4368&shift=0&print=1
m0Hze когда-то для себя делал, маленький примитивный, но мне хватало. https://forum.antichat.ru/showpost.php?p=1455551&postcount=846
Помогите составить регулярное выражение для HTML строки c правильной вложенностью скобок типа (() (()()) ), где, например, '(' = '<div>', а ')' = '</div>'. Выражение должно возвратить строку из символов между крайним ( и ).
PHP: <pre> <?php $a = 'id="new_votes\">5<\/td> id="new_votes\">6<\/td> id="new_votes\">7<\/td> '; preg_match_all('|id="new_votes\\\">(.*)<\\\/td>|',$a,$b); print_r ($b[1]); ?> </pre> Зацени пост выше своего и подумай, как надо спрашивать вопросы *лично я нихрена не понял, напиши тупо, что надо выдернуть, не умничай - в твоем примере всего две скобки, обе-две крайние, как не крути*
мда.....ты заставляешь думать, а это очень больно.....Сложно привести ссылку на конкретную новость и показать текст (в исходниках), который надо выдрать? Вежливости в школе не научили?
Подскажите, почему это: PHP: preg_match('/\[\[(.*?)\]\]/im', $result, $temp); не ищет в этом: PHP: здесь много текста html var friendsData = {здесьмногоразныхсимволов 'friends':[[2242936,"Магомед Арабханов","http:\/\/cs9696.vkontakte.ru\/u2242936\/b_0be60f10.jpg",1,"","Магомеда",0,1,932488,"",0],[17185664,"Влад Зотов","http:\/\/cs4326.vkontakte.ru\/u17185664\/b_f9cd97e9.jpg",1,"","Влада",0,1,953886,"",0],[3908114,"Влад Колесников","http:\/\/cs4150.vkontakte.ru\/u3908114\/b_5ca376ca.jpg",1,"","Влада",0,1,304,"12",0],[33390954,"Stephan Lampka","http:\/\/cs9636.vkontakte.ru\/u33390954\/b_14219071.jpg",1,"","Stephan",0,1,0,"",0],[25596089,"Оля Ющенко","http:\/\/cs10061.vkontakte.ru\/u25596089\/b_928d6744.jpg",1,"","Оли",0,1,2,"15",0]],'universities':{12:"ВИ",50745:"не указан"},'filter':'all'}; здесь много текста html включая [[]] то что ограничено между [[ и ]]
GlooK попробуй вместо /im поставить /s . Кстати что значит /im ? мм я вот у себя попробывал у меня твой вариант все нормально парсит.
Спасибо. Решение нашел. Оказывается данные не получались из-за символа жадности ? Как-то странно он работает.