Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [preg_match]wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
Cezar708
witam,

nie mogę sobie poradzić z wyrażeniem regularnym. Otóż ma mi określić, czy w danym ciągu znaków występuje tag <img>, k tórym nie występuje alt,
czyli:

  1. <?php
  2. preg_match($pattern, 'asdfalsd fj<br> <br> <b> asdfa sdf<img src="aasdfa.jpg" />');
  3. ?>


ma dać wynik pozytywny

natomiast:
  1. <?php
  2. preg_match($pattern, 'asdfalsd fj<br> <br> <b> asdfa sdf<img src="aasdfa.jpg" alt="opis obrazka" />');
  3. ?>


ma dać wynik negatywny

radzę sobie jeśli użyję dwóch wyrażeń (najpiersz znajdujących '/<img[^>]+>/' a potem sprawdzających czy w tym dopasowaniach znajduje się ciąg '/alt=/'), niestety nie potrafię sobie poradzić z tym w jednym wyrażeniu

Pozdrawiam
Cezar708
webdice
  1. <?php
  2. $string = 'some string <img src="image.png" alt="some description" /> and some...';
  3.  
  4. if (!preg_match ('#<img(.*)alt=(.*)>#', $string))
  5. ?>
Cezar708
no tak winksmiley.jpg

... generalnie to zadziała... ale mam sprawę, bo tak naprawdę tego wyrażenia nie będę używał w PHP w preg_match... tylko w Eclipse próbuję przeszukiwać... więc czy to wyrażenie można jakoś w negacji zapisać?

Niestety w Eclipse nie można użyć paterna niepasującego

Pozdrawiam

~EDIT
No generalnie masz plusa, bo naprowadziłeś mnie trochę... ale nie rozwiązałem problemu do końca sad.gif

Pozdrawiam
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.