Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Wyszukanie i zaawansowana zamiana w ciągu znaków
Armorek
post
Post #1





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

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


Witam, chciałbym mając jakiś tekst w formie HTML gdzieś w jakiejś zmiennej, tak jakby przefiltrować, wyszukać
  1. <img .... class="klasa"...>

czyli obrazek tylko z konkretna klasą, chciałbym pobrać jego parametry i zachować np. pobrać jego src="link", po adresie chcę sprawdzić rozmiary
  1. list($width, $height) = getimagesize($link);

oczywiście jeżeli nie ma w obrazku styli to chciałbym je stworzyć a jeżeli już są też je jakoś zachować dodając do stylu $width i $height, tak żeby było to w miarę uniwersalne.
Myślę że trzeba by użyć regexp ale do końca to nie wiem jak
powiedzmy chce zrobić coś w tym stylu:
  1. <?php
  2. $string = $item->text;
  3.  
  4. $pattern = '/<img(.*?)src="(.*?)"(.*?)style="(.*?)"(.*?)class="dopasowywana_grafika"(.*?)>/';
  5. $replacement = '$2';
  6. $link = preg_replace($pattern, $replacement, $string);
  7.  
  8. list($width, $height) = getimagesize($link);
  9.  
  10. $replacement = '/<img$1src="$2"$3style="$4 width:100%; max-width: $width px; max-height:$height px;"$5$6>/';
  11. $string = preg_replace($pattern, $replacement, $string);
  12.  
  13. echo $string;
  14. ?>

oczywiście to było tylko takie zebranie kodu i dopiero kombinowanie co będzie mi potrzebne i jak użyć ale żebyś czytając to zrozumiał co chcę zrobić, bo kod oczywiście działać nie ma prawa (IMG:style_emoticons/default/tongue.gif) Kwestia tego że nie wiem jakie dobrać funkcje i jak mógłbym to sklecić żeby tak wyciągnąć osobno link do sprawdzenia obrazka a potem przerobić kod obrazka z dodatkowymi stylami itd. a potem wpleść to spowrotem
Proszę o pomoc i pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 21:15