Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuniecie tagow <img...
Forum PHP.pl > Forum > PHP
kicaj
Przypuscmy ze mamy taki kod HTML:
  1. <tr>
  2. <td><img src="..." align="..." /></td>
  3. </tr>
  4. <tr>
  5. <td><img src="..." align="..." alt="jakis opis z roznymi znakami np " /></td>
  6. </tr>
  7. <tr>
  8. <td><img src="..." align="..." /></td>
  9. </tr>

Jak usunac z tego kodu wszystkie znaczniki odpowiadajace za wyswietlanie obrazka?
mls
Hm, albo strip_tags" title="Zobacz w manualu PHP" target="_manual, albo
  1. <?php
  2. $tekst = preg_replace('/<img([^>]+)>/i', '', $tekst);
  3. ?>
kicaj
Tak wlasnie mam, z tym ze jesli, w ktoryms ze "znacznikow" zawartych w <img...> np.:

alt="jakis text > ciag dalszy..." //pojawi sie znaczek `>` to juz sie funkcja *_replace sypie...

Jak temu zaradzic?
rogrog
Cytat(kicaj_ @ 2004-06-26 15:56:20)
alt="jakis text > ciag dalszy..."

w takim razie źle używasz HTMLa

powinno być np.
  1. <img src="obrazek.gif" alt=" &lt; tekst &gt; który zawiera różne znaczki &amp; tzw. &quot;html entities&quot; itp. &raquo;O tak właśnie!&raquo;" width=.. height=..>


no w każdym razie <> => &lt;&gt;

htmlspecialchars" title="Zobacz w manualu PHP" target="_manual, htmlentities" title="Zobacz w manualu PHP" target="_manual
kicaj
Ogolnie zalozenie to, usuniecie z calego w/w HTML'a znaczniki obrazka!
Nie moge sobie z tym poradzic.
Oczywiscie w `alt` lub innych moze zostac uzyty `>`.
Kod bedzie wprowadzany przez uzytkownikow wiec nie ktorzy beda pisac `&gt;`, a inni `>`. Jak to rozwiazac?
jaco
// zostalo podpowiedziane na ircu...

  1. <?php
  2. $x = preg_replace('/([A-Za-z]+)=\"([^\"]+)\"/e', '\"1=\"\".htmlspecialchars(\"2\").\"\"\"', $x);
  3. $x = '<pre>'.preg_replace('/<img([^>]+)>/i', '', $x);
  4. ?>


To zamienia wszystkie parametry w kodzie HTML na "poprawne" ... Nie odpowiadam za czas wykonywania sie tego kodu ale do filtrowania danych z formularza jest wsam raz winksmiley.jpg

Aha - to najprawdopodobniej zepsuje "poprawne" paramtery tongue.gif
kicaj
Hehe wlasnie o to chodzilo smile.gif smile.gif smile.gif

Bylo ciakawie na #php.pl, kilka roznych sposobow zostalo stworzonych, przeanalizowalismy chyba wszystkie mozliosci "na wypadek"...

Ostatni pomysl wyszedl najlepiej - dzieki jaco
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.