Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg_match - wyrażenia regularne
raval
post 19.03.2013, 12:33:04
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post 19.03.2013, 12:35:28
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ć :/


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
raval
post 19.03.2013, 12:39:06
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Zapomniałem dokelić, że jest preg_match jest w pętli foreach.. natomaist chodzi o samo wyrażenie, co z nim nie tak?
Go to the top of the page
+Quote Post
nospor
post 19.03.2013, 12:41:37
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
raval
post 19.03.2013, 12:43:54
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował raval 19.03.2013, 13:47:48
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 06:32