Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match - wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
raval
Witam,

Chciałem stworzyć wyrażenie regularne znajdujące znaczniki html. Napisałem coś takiego:

  1. $stringArr = array(1 => '<a href="asd.php" style="asd: dsd;" > <p>asdfdf</p> </a>',
  2. 2 => '<a href="asd.php" style="asd: dsd;" > <img src="asadf/dsf/pdd.jpg" alt="sdff" /> </a>',
  3. 3 => '<a href="asd.php" style="asd: dsd;" <p asdfdf</p> </a>',
  4. 4 => '<a href="asd.php">aasd </a>');
  5.  
  6. $string = '/<[a-z]{1,8} (\s)* ([a-z]{1,8}(\=){1}(\"){1}(.*)+(\"){1} )* (\s)* >/i';
  7.  
  8. $check = preg_match($stringArr, $string, $matches);


i niestety zwraca mi na każdym kroku FALSE. Czy mógłbym prosic o pomoc i o sprostowanie mojego wyrażenia.

Pozdrawiam.
nospor
http://www.php.net/preg_match
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Przecież twoje wywołanie preg_match ma się nijak do tego jak to masz robić :/ Manual wymyślono po to, by do niego zaglądać a nie go unikać :/
raval
Zapomniałem dokelić, że jest preg_match jest w pętli foreach.. natomaist chodzi o samo wyrażenie, co z nim nie tak?
nospor
No i co z tego ,że jest w pętli, skoro ty źle zapodajesz te argumenty... Chyba, że w petli nagle zmieniłeś kolejnosc i zapodajesz we właściwej... No ale tego nie wiemy, bo nadal nie widzimy Twojego poprawnego kodu.
raval
Ok, już poprawiam, za szybko wkleiłem

  1. $stringArr = array(1 => '<a href="asd.php" style="asd: dsd;" > <p>asdfdf</p> </a>',
  2. 2 => '<a href="asd.php" style="asd: dsd;" > <img src="asadf/dsf/pdd.jpg" alt="sdff" /> </a>',
  3. 3 => '<a href="asd.php" style="asd: dsd;" <p asdfdf</p> </a>',
  4. 4 => '<a href="asd.php">aasd </a>');
  5.  
  6. $string = '/<[a-z]{1,10} (\s+[a-z]{1,10}(\=){1}(\"){1}(.*)(\"){1} )* >/i';
  7.  
  8. foreach($stringArr as $val)
  9. {
  10. $check = preg_match($string, $val, $matches);
  11. }
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.