Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne
daris
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 4
Dołączył: 7.01.2008

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


Jak zrobić tak aby w danym kodzie html za pomocą wyrażeń regularnych wyłapać wszystkie wystąpienia <input type=button value=cos_tam> i dodać do tablicy to cos_tam?

Np jak mam taki kod:
  1. <input type=button value=test><input type=button value=test3>

To chciałbym otrzymać coś takiego:
Kod
Array
(
    [0] => test
    [1] => test3
)


Udało mi się to zrobić narazie tylko takim wyrażeniem:
Kod
#\<input (.*)type=button(.*)value=test\>(.*)>#s

ale co mi po tym jak nie do końca działa tak jak powinno czyli może pasować np taki kod:
Kod
<input type=button>fds value=test dsfsdfs<input type=button value=test>


Jak to zawęzić?

Ten post edytował daris 22.01.2008, 15:10:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qrees
post
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(daris @ 22.01.2008, 15:05:06 ) *
Jak zrobić tak aby w danym kodzie html za pomocą wyrażeń regularnych wyłapać wszystkie wystąpienia <input type=button value=cos_tam> i dodać do tablicy to cos_tam?

Np jak mam taki kod:
  1. <input type=button value=test><input type=button value=test3>

To chciałbym otrzymać coś takiego:
Kod
Array
   (
       [0] => test
       [1] => test3
   )


Udało mi się to zrobić narazie tylko takim wyrażeniem:
Kod
#\<input (.*)type=button(.*)value=test\>(.*)>#s

ale co mi po tym jak nie do końca działa tak jak powinno czyli może pasować np taki kod:
Kod
<input type=button>fds value=test dsfsdfs<input type=button value=test>


Jak to zawęzić?

Kod
#\<input[^>]*value=(\w*)[^>]*>\#s

A jeżeli poprawisz wygląd tego inputa, żeby było value="test" zamiast value=test:
Kod
#\<input[^>]*value="([^"]*)"[^>]*\>#s

Nie sprawdzałem czy działa, ale trick polega na użyciu [^>], który pasuje do każdego znaku poza >.
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: 5.10.2025 - 17:45