Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] regexp i przepisywanie ciągów
uncuncunc
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 1.04.2012

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


Czasami w skryptach widzę tablice z "aliasami" które są wyciągane przez preg_match i przypisywane do zmiennej np.

Cytat
$sprawdany_string = 'bbbaaa/21'
array('/[a-z]+\/:id/');



Zastanawiam się jak zrobić, aby sprawdzić czy ciąg pasuje do wyrażenia i aby skrypt wiedział że :id to w tym wypadku 21 i że jest to liczba czyli zakres [0-9]+ oraz aby to przypisać do jakiejś zmiennej.

Wiem jak zamienić :id na [0-9]+ to nie problem i wtedy sprawdzam czy pasuje, ale jak konkretny :id przypisać wartość ze sprawdzanego ciągu?



Tak kombinuje... zamiana :id na [0-9]+ to

  1. preg_repalce('/:id/','[0-9]+',$str);


Później sprawdzam czy $str pasuje do wyrażenia przez preg_match, jednak wcześniej chciałbym do jakiejs zmiennej przepisać wartość tego :id ... jak? np. $id = 21;

Może explode i porównywanie do tablicy? Czy PHP ma w sobie jakieś aliasy dla wyrażeń? A ja szukam nie pod tą nazwą.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Jeśli dobrze rozumiem pytanie, to funkcją której szukasz jest preg_match, wywołana z trzecim argumentem. Pamiętaj, żeby odpowiednio skonstruować wyrażenie regularne - używaj nawiasów okrągłych do grupowania podciągów, które potem przechwytywane są do trzeciego parametru funkcji preg_match.
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: 8.10.2025 - 21:43