Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Preg match src obrazka.
Forum PHP.pl > Forum > Przedszkole
Watt
Witam,

Mam pytanie jak sprawdzić funkcją preg match ścieżkę obrazka?
Napisałem cos takiego:

  1. <?php
  2. preg_match("/<img src=\"(.*)\"(.*)>/", $tekst, $msimg);
  3. ?>


Lecz nie działa
Wicepsik
$msimg to tablica

  1. <?php
  2. $tekst = '<img src="heheh.jpg" alt="">';
  3. preg_match("/<img src=\"(.*)\"(.*)>/", $tekst, $msimg);
  4. print_r($msimg);
  5. ?>
zegarek84
a wyrażenie powinno być:
Kod
"/<img src=\"(.+?)\"[^>]*?>/is"

ps. do przeszukiwania elementów html dużo lepszy jest DOM
Watt
Mam jeszcze pytanie, jak by wygladąło pobranie obrazka z tagów
Fifi209
Cytat(Watt @ 12.07.2009, 16:22:33 ) *
Mam jeszcze pytanie, jak by wygladąło pobranie obrazka z tagów


Co masz na myśli jakby wyglądało? smile.gif
Chcesz go poprać na swój serwer? smile.gif (ukraść czyjąś pracę?)
zegarek84
w sumie powinno wystarczyć tylko takie wyrażenie regularne (a w jakiej funkcji to juz zależy od Ciebie):
Kod
"/\[img\]([^\[]+)/is"

ale czytelniejsze dla Ciebie powinno być:
Kod
"/\[img\]([^\[]+?)\[\/img\]/is"


przy czym sam pobrany adres też pasowało by sprawdzić czy jest poprawny czy to wyrażeniem regularnym czy innymi funkcjami - ale nie wiem czy te obrazki niby maja pełny adres z innej strony czy z Twojego serwisu.... jednak zamiast wyrażeniem regularnym poprawność tego adresu możesz też sprawdzić przy pomocy funkcji które co prawda nie służą do sprawdzania poprawności adresu jednak możesz dzieki nim prawdzić składowe tego adresu [parse_url()] lub rozszerzenie pliku o ile takie ma być - bo nie zawsze gif czy jpg generowane w necie na strony internetowe musza mieć takie rozszeżenie [pathinfo()]

Cytat(Watt @ 12.07.2009, 17:22:33 ) *
Mam jeszcze pytanie, jak by wygladąło pobranie obrazka z tagów

Cytat(fifi209 @ 12.07.2009, 17:35:52 ) *
Co masz na myśli jakby wyglądało? smile.gif
Chcesz go poprać na swój serwer? smile.gif (ukraść czyjąś pracę?)

chyba, że chodzilo o zapis obrazków na serwer - najprościej to przy urzyciu funkcji copy jeśli obrazki nie sa zabezpieczone np. przed hotlinkowaniem oraz jeśli masz ustawione url open - a jeśli chodzi o bardziej skomplikowane metody to tutaj nie będę pisał gotowców tym bardziej jeśli chodzi o ściąganie i przywłaszczanie sobie obrazków - chyba że to jest potrzebne w celu buforowania wyjścia czegoś w rodzaju proxy lub pod bota graficznego do gry w pełni zabezpieczonego z przekazywaniem wszystkich potrzebnych parametrów - ale to też za bardzo nie mogę podawać szczegółowych rozwiązań winksmiley.jpg
Watt
Tworze sam plugin z tagami i w bazie mam zapisane wszytko jako bbcode. I muszę pobrać obrazek, żeby mu zmienić rozmiar bo mi obrazek rozwala tabele smile.gif

Mam pytanie bo nie chce zakładac nowego topica bo ten post odnosi sie do temau, czy mozna zrobić tak myk w preg replace:
  1. <?php
  2. $tekst = preg_replace("#[img]".$adres_obrazka."[/img]#si","<img src=\"1\" alt=\"text\" width=\"".$size1."\" height=\"".$size2."\" />",$tekst);
  3. ?>

?
I frugie pytanie dot powyzszego przykładu czemu mi zwraca kod w postaci

Kod
<img src=\zxxxx.jpg\ alt=\xxx\ width=\xxxx\ height=\zzzz\ />

zamiast

Kod
<img src="zxxxx.jpg" alt="xxx" width="xxxx" height="zzzz" />
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.