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 :: Версия для печати :: preg_match_all
Форумы портала PHP.SU » PHP » Регулярные выражения » preg_match_all

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

1. armancho7777777 - 16 Февраля, 2012 - 16:26:56 - перейти к сообщению
Всем привет!
Как можно реализовать условие типа:

PHP:
скопировать код в буфер обмена
  1.  
  2. $patern_link = '!<a class="genmed topictitle" || <a class="genmed topicpremod"(.*?)</a>!si';
  3.  


Надо, чтобы если не ' "!<a class="genmed topictitle" ' то ' "<a class="genmed topicpremod" '
2. EuGen - 16 Февраля, 2012 - 17:45:49 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match_all('/\<a\s+class\="genmed topictitle"\>(.*?)\<\/a\>|\<a\s+class\="genmed topicpremod"\>(.*?)\<\/a\>/i', $sData, $rgMatches);

?
3. armancho7777777 - 16 Февраля, 2012 - 17:59:32 - перейти к сообщению
Не, не то)
Не так работает.
Сделал так пока:

PHP:
скопировать код в буфер обмена
  1.  
  2. $patern_link = '!<a class="genmed topictitle"(.*?)</a>!si';
  3. $patern_link_or = '!<a class="genmed topicpremod"(.*?)</a>!si';
  4.  
  5. preg_match_all($patern_link, $res, $links);
  6. preg_match_all($patern_link_or, $res, $links_or);
  7.  
  8. if($links[0] && $links_or[0]){
  9.   $links[0] = array_merge($links[0], $links_or[0]);
  10. }
  11.  

 

Powered by ExBB FM 1.0 RC1