Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [preg_match]wyrażenie regularne, które znajduje <img> bez alt
Cezar708
post
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. <?php
  2. $string = 'some string <img src="image.png" alt="some description" /> and some...';
  3.  
  4. if (!preg_match ('#<img(.*)alt=(.*)>#', $string))
  5. ?>
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


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

Ten post edytował Cezar708 27.04.2008, 00:28:23
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 12:33