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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужна помощь с регуляркой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Coder1994
Отправлено: 27 Июня, 2011 - 17:20:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




вот есть строка
<span class="vid-size">96.3 MB</span><a href="http://site.com/video.mp4" onclick="pageTracker._trackEvent('Video Page','Click Download Original');" id="123456">Download AVI Format</a></div>
Как мне отсюда взять Download AVI Format
Написал регулярку
PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match_all( '/(.*)<\/span><a href="(.*)" onclick="(.*)" id="(.*)">.*/isU', $link[1][$i] , $size );

Но когда переписываю её чтобы взять Download AVI Format, она не пашет, в чём проблема?
 
 Top
Саныч
Отправлено: 27 Июня, 2011 - 18:09:54
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. #<a[^>]>(.*?)<\/a>#isU


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Coder1994
Отправлено: 27 Июня, 2011 - 18:14:36
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




Саныч пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #<a[^>]>(.*?)<\/a>#isU

не работает.
Можете модифицировать мою регулярку?
Чтобы $size[5][0], возвращала Download AVI Format
 
 Top
Slavenin
Отправлено: 27 Июня, 2011 - 18:35:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. #<a\s[*]>(.*?)<\/a>*#

(Отредактировано автором: 27 Июня, 2011 - 18:41:00)

 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 14:25:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




Slavenin пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #<a\s[*]>(.*?)<\/a>*#

тоже ничего не матчит.
preg_match_all( '/(.*)<\/span><a href="(.*)" onclick="(.*)" id="(.*)">.*/isU', $link[1][$i] , $size );
вот моя регулярка всё парсит, но когда я её дописываю до:
preg_match_all( '/(.*)<\/span><a href="(.*)" onclick="(.*)" id="(.*)">.*<\/a>/isU', $link[1][$i] , $size );
Она перестаёт парсить.
В чём проблема?
 
 Top
vsll
Отправлено: 28 Июня, 2011 - 14:37:07
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match_all( '/(.*)<\/span><a href="(.*)" onclick="(.*)" id="(.*)">([^<]*)<\/a>/isU', $link[1][$i] , $size );
 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 14:48:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




Vasiliya пишет:
PHP:
скопировать код в буфер обмена
  1. preg_match_all( '/(.*)<\/span><a href="(.*)" onclick="(.*)" id="(.*)">([^<]*)<\/a>/isU', $link[1][$i] , $size );

вот что var_dump вернул
CODE (htmlphp):
скопировать код в буфер обмена
  1. array(6) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } [3]=> array(0) { } [4]=> array(0) { } [5]=> array(0) { } } []
 
 Top
EuGen Администратор
Отправлено: 28 Июня, 2011 - 14:59:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match_all('/\<a[^\>]*\>(.*)\<\/a\>/smi', $string, $rgMatches);
  2. var_dump($rgMatches);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 15:24:51
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. preg_match_all('/\<a[^\>]*\>(.*)\<\/a\>/smi', $string, $rgMatches);
  2. var_dump($rgMatches);

CODE (htmlphp):
скопировать код в буфер обмена
  1. array(2) { [0]=> array(0) { } [1]=> array(0) { } }
 
 Top
EuGen Администратор
Отправлено: 28 Июня, 2011 - 16:10:49
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Значит, полностью входные данные приведите и часть скрипта.
То, что я написал, я проверил (PHP 5.2)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 16:16:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




EuGen пишет:
Значит, полностью входные данные приведите и часть скрипта.
То, что я написал, я проверил (PHP 5.2)

CODE (htmlphp):
скопировать код в буфер обмена
  1. <span class="vid-size">12.4 MB</span><a href="http://domain.com/mobile/5/260598_luh_112_201011_lilly_a_640_4x3.mp4?nvb=20110627035431&nva=20110629223431&hash=0bca6f32735ea1fdbf040" onclick="pageTracker._trackEvent('Video Page','Click Download IPHONE');" id="download-mp4">Download IPHONE Format</a></div>
  2.  
 
 Top
EuGen Администратор
Отправлено: 28 Июня, 2011 - 16:26:40
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. $string='<span class="vid-size">12.4 MB</span><a href="http://domain.com/mobile/5/260598_luh_112_201011_lilly_a_640_4x3.mp4?nvb=20110627035431&nva=20110629223431&hash=0bca6f32735ea1fdbf040" onclick="pageTracker._trackEvent(\'Video Page\',\'Click Download IPHONE\');" id="download-mp4">Download IPHONE Format</a></div>';
  2.  
  3. preg_match_all('/\<a[^\>]*\>(.*)\<\/a\>/smi', $string, $rgMatches);
  4. var_dump($rgMatches);

CODE (htmlphp):
скопировать код в буфер обмена
  1. array
  2.   0 =>
  3.     array
  4.       0 => string '<a href="http://domain.com/mobile/5/260598_luh_112_201011_lilly_a_640_4x3.mp4?nvb=20110627035431&nva=20110629223431&hash=0bca6f32735ea1fdbf040" onclick="pageTracker._trackEvent('Video Page','Click Download IPHONE');" id="download-mp4">Download IPHONE Format</a>' (length=261)
  5.   1 =>
  6.     array
  7.       0 => string 'Download IPHONE Format' (length=22)
  8.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 17:03:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




вот фрагмент кода:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <span class="vid-size">12.0 MB</span><a href="http://domain.com/201106/23/282070/180P_165K_282070.mp4?nvb=20110627043614&nva=20110629231614&hash=0593ef10156701a52994d" onclick="pageTracker._trackEvent('Video Page','Click Download IPHONE');" id="download-mp4">Download IPHONE Format</a></div>
  2.                                         <div class="rate">
  3.                                                 <span>Rate: </span><span id="rate-table" class="pointer">
  4.                                                         <img id="rating-1" title="A real turnoff" src="http://domain.com/Template/www_domain_com/img/rating/star_off.gif"
  5.                                                                 onmouseover="SwJs.Article.RateHover(1);" onmouseout="SwJs.Article.RateShow();"
  6.                                                                 onclick="SwJs.Article.Rate(1.0);" /><img id="rating-2" title="Yawn" src="http://domain.com/Template/domain/img/rating/star_off.gif"
  7.                                                                         onmouseover="SwJs.Article.RateHover(2);" onmouseout="SwJs.Article.RateShow();"
  8.                                                                         onclick="SwJs.Article.Rate(2.0);" /><img id="rating-3" title="Not bad" src="http://domain.com/Template/www_domain_com/img/rating/star_off.gif"
  9.                                                                                 onmouseover="SwJs.Article.RateHover(3);" onmouseout="SwJs.Article.RateShow();"
  10.                                                                                 onclick="SwJs.Article.Rate(3.0);" /><img id="rating-4" title="Sizzling" src="http://domain.com/Template/www_domain_com/img/rating/star_off.gif"
  11.                                                                                         onmouseover="SwJs.Article.RateHover(4);" onmouseout="SwJs.Article.RateShow();"
  12.                                                                                         onclick="SwJs.Article.Rate(4.0);" /><img id="rating-5" title="Damn, that's hot" src="http://domain.com/Template/www_domain_com/img/rating/star_off.gif"
  13.                                                                                                 onmouseover="SwJs.Article.RateHover(5);" onmouseout="SwJs.Article.RateShow();"
  14.                                                                                                 onclick="SwJs.Article.Rate(5.0);" />
  15.                                                         <span id="spRating"></span></span><span id="rate-wait" class="hide">
  16.                                                                 <img src="http://domain.com/Template/img/progress/sm/snake-F5E9EF.gif" />
  17.                                                         </span><span id="rate-message" class="hide"></span>
  18.                                         </div>
  19.                                         <div class="add-fav">
  20.                                                 <span id="spanIsFavorite">+</span><a href="#" id="aToggleFavorites" onclick="pageTracker._trackEvent('Video Page','Click Favorites');return SwJs.Article.FavoriteClick(this, event);">Add to Favorites</a></div>
  21.                                 </div>
  22.                                 <div class="row">
  23.                                         <div class="dl-btm">
  24.                                                 <span class="vid-size">9.24 MB</span><a href="http://domain.com/201106/23/282070/144P_146K_282070.3gp?nvb=20110627043614&nva=20110629231614&hash=07092e81ecb8c0ea1d5c8" onclick="pageTracker._trackEvent('Video Page','Click Download MOBILE');" id="download-3gp">Download MOBILE Format</a></div>
  25.  

(Отредактировано автором: 28 Июня, 2011 - 17:04:40)

 
 Top
tsoi85
Отправлено: 28 Июня, 2011 - 18:00:51
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июнь 2011  


Помог: 10 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match_all("#<span class=\"vid-size\">(.*)<\/span><a href=\"([^\>\"]*)\"([^\>]*)>(.*)<\/a>#is", $link, $a);
  3.  


Может, поможет...

(Отредактировано автором: 28 Июня, 2011 - 18:02:31)

 
 Top
Coder1994
Отправлено: 28 Июня, 2011 - 18:32:50
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




tsoi85 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match_all("#<span class=\"vid-size\">(.*)<\/span><a href=\"([^\>\"]*)\"([^\>]*)>(.*)<\/a>#is", $link, $a);
  3.  


Может, поможет...

CODE (htmlphp):
скопировать код в буфер обмена
  1. array(5) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } [3]=> array(0) { } [4]=> array(0) { } }
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB