Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrażenie regularne
duvik
post 6.05.2010, 11:31:00
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


Witam.
Sprawa ma się tak iż mam zmienną w której jest zawarta treść która ma zostać przerobiona funkcja preg_match_all.
Chciałbym wyciągnąć to co jest pomiędzy polami <embed właściwości_pola></embed>ta treść do wyciągnięcia<kolejny embed>

  1. $wzor_ = "#<embed(.*)></embed>(\s*)(.*)(\s*)#iU";
  2. preg_match_all($wzor_, $tresc, $wynik_);
  3.  
  4. for ($x = 0; $x < count($wynik_[2]); $x++) {
  5. echo $wynik_[2][$x]."<br />";
  6. }
  7.  
  8. $tresc = '<embed width="304" height="230" menu="true" loop="true" play="true" src="/zdjecia/fotki/flash/anima.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>ewfewf
  9. <embed width="304" height="230" menu="true" loop="true" play="true" src="/zdjecia/fotki/flash/animar.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>ewf
  10. <embed width="999" height="230" menu="true" loop="true" play="true" src="/zdjecia/fotki/flash/anierma.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-sho"></embed>';
Go to the top of the page
+Quote Post
nospor
post 6.05.2010, 11:32:51
Post #2





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




nie analizuje twojego wyrazenia. Rzuca sie natomiast bardzo ciekawa rzecz:
najpierw wyrażeniem przelatujesz po $tresc, a dopiero potem tę $tresc ustawiasz..... winksmiley.jpg


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

"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
duvik
post 6.05.2010, 11:37:54
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


To jak jest tutaj ustawiona treść czy na dole czy na górze nie ma znaczenie, ponieważ to jest część większej funkcji a ja wkleiłem tutaj to odwrotnie smile.gif Nie wiem po prostu co mam źle, niby co w tablicy jest ponieważ pętla się obraca i wypisuje tylko <br />
Go to the top of the page
+Quote Post
nospor
post 6.05.2010, 11:39:45
Post #4





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




A nie mozesz zrobic:
print_r($wynik_);
i sprawdzic co tam tak naprawdę jest?


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

"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
duvik
post 6.05.2010, 11:43:38
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


Cóż, zwraca pustą tablicę Array ( [0] => [1] => [2] => ), nie wiem dlaczego jeżeli pomiędzy tym jest tekst...
Go to the top of the page
+Quote Post
athei
post 6.05.2010, 14:21:04
Post #6





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


Kod
#</embed>(.*)[\n\r\t]?<embed#iUs
Go to the top of the page
+Quote Post
duvik
post 6.05.2010, 14:55:32
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


Dziękuje za rozwiązanie, chwilę wcześniej wpadłem na również działające, tylko zajmujące więcej pamięci, ponieważ tablica ma więcej elementów.

Btw, może mi ktoś wytłumaczyć co oznaczają literki za "#" np iU questionmark.gif?

  1. #</embed>(\s*)(.*)(\s*)<embed(.*)>#iU
Go to the top of the page
+Quote Post
wywrot4
post 6.05.2010, 20:36:29
Post #8





Grupa: Zarejestrowani
Postów: 18
Pomógł: 9
Dołączył: 8.10.2009
Skąd: Tarnów

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


Pattern Modifiers
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: 18.07.2025 - 01:39