Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wielkość liter w preg_match_all
Forum PHP.pl > Forum > Przedszkole
batat
Witam,

Próbuję wyciągnąć adres pliku .swf z kodu <embed>. Póki co skrypt działał dobrze, jednak napotkałem problemy przy kodzie zawierającym duże litery.

Oto przykładowy kod html do analizy:

  1. <EMBED src="http://dk.filmomania.pl/j/Mad_Bombs112617.swf" allowfullscreen="true" scale="showall" allowScriptAccess="sameDomain"
  2. quality="high" width="800" height="600" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>


Mój kod PHP
  1. preg_match_all('/<embed.*src=\"(.*)swf\".*>/iU', $content, $links2);
  2. foreach($links2 as $podtab2){
  3. foreach($podtab2 as $wartosc2){
  4. $linki2 = strip_tags($wartosc2);
  5. if ( $linki2 != '' ){
  6. $batat[] = $linki2.'swf';
  7. }
  8. };
  9. }


Zastosowałem modyfikator "i", próbowałem wpisywać formułę z dużymi literami oraz zmieniać podawany ciąg na małe znaki. Nic nie pomaga. Prosiłbym o jakąś wskazówkę ;-)

Pozdrawiam
wookieb
Dodaj modyfikator "s"
I na przyszłość zapoznaj się z PHPQuery albo DOMXpath
erix
Daj jeszcze flagę "s".
batat
dzieki wielkie! musialm dopiescic jeszcze troche wzorzec, ale juz dziala ;-)

// EDIT

Witam,
Nie chcę zakładać nowego tematu, więc napiszę tutaj. Sprawa dalej dotyczy wyciągania .swf w kodu strony, lecz teraz mam nieco inną trudność.

Fragment kodu:
  1. "game_swf":"http%3A%2F%2Fchat.kongregate.com%2Fgamez%2F0009%2F2786%2Flive%2FStarCatcher.swf%3Fkongregate_game_version%3D1285660801",


Użyte przeze mnie wyrażenie:
  1. preg_match_all('/\"game\_swf\"\:\"(.*)\"\,/isU', $content, $x);


Problem w tym, że nic nie znajduje. Męczę się już z tym 3. dzień. Próbowałem kod html podawać po przepuszczeniu przez urldecode, ale nic się nie pomogło.

Będę wdzięczny za sugestie i pomoc!
pzdr
jaslanin
  1. <pre>
  2. <?
  3.  
  4. $html = '
  5. hgjdfhdghgh
  6. fghdfghdf
  7.  
  8. "game_swf":"http%3A%2F%2Fchat.kongregate.com%2Fgamez%2F0009%2F2786%2Flive%2FStarCatcher.swf%3Fkongregate_game_version%3D1285660801",
  9.  
  10. fghdfhdf
  11. dfghdfghdf
  12. ';
  13.  
  14. preg_match_all("#game_swf.*(http[^'\"]+)#im", urldecode($html), $matchesarray);
  15.  
  16. print_r($matchesarray);
  17.  
  18. ?>
  19. </pre>
webdice
Kod
#"game_swf":"([^"]+)"#


Modyfikatory dodaj sobie sam.
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.