Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrazenie regularne
Forum PHP.pl > Forum > Przedszkole
dyktek
mam taki kodzik

  1. <?php
  2.  
  3.  $wyrazenie = "/\\[([a-zA-Z\_:]+):(\\d+):([^:]+)\\]/";
  4.  
  5.  $wyrazenie2 = "/\\[([a-zA-Z\_:]+):(\\d+)\\]/";
  6.  
  7.  if(preg_match_all($wyrazenie, $SourceString, $matches))
  8.  {
  9. for ($i=0; $i<count($matches[0]); $i++)
  10. {
  11. $caly =  $matches[0][$i];
  12. $name =  $matches[1][$i];
  13. $id =  $matches[2][$i];
  14. $flag =  $matches[3][$i];
  15.  
  16. // dalsza czesc...
  17.  
  18. ?>


no i chce uzyskać taki efekt, ze preg_match_all sprawdza wyrazenie pierwsze lub kolejne kombinowałem tak

  1. <?php
  2.  
  3.  
  4. (preg_match_all("$wyrazenie|$wyraznie2", $SourceString, $matches))
  5.  
  6.  
  7. ?>


ale to tez nie działa
w00t
  1. <?php
  2.  
  3. if( preg_match_all($wyrazenie, $SourceString, $matches) OR preg_match_all($wyrazenie2, $SourceString, $matches) )
  4.  
  5. ?>
Radarek
Cytat(w00t @ 2006-02-20 14:27:05)
  1. <?php
  2.  
  3. if( preg_match_all($wyrazenie, $SourceString, $matches) OR preg_match_all($wyrazenie2, $SourceString, $matches) )
  4.  
  5. ?>

To by bylo zbyt proste i zapewne nie o to chodzi autorowi.

  1. <?php
  2. $wyrazenie = "\\[([a-zA-Z\_:]+):(\\d+):([^:]+)\\]";
  3. $wyrazenie2 = "\\[([a-zA-Z\_:]+):(\\d+)\\]";
  4.  
  5. $regex = "/$wyrazenie|$wyrazenie2/";
  6.  
  7. ?>


Sprobuj tak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.