Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrazenia regularne: WYCIAGNIECIE ciagu spomiedzy dwoch ciagow
Forum PHP.pl > Forum > PHP
shimano
Witam,

Probuje wydobyc ze stringa ciag znakow znajdujacy sie pomiedzy dwoma innymi (roznymi) ciagami znakow.

Przyklad:

$string = "To jest jakis tekst z ktorego bedzie trzeba wyciagnac kilka wyrazow znajdujacych sie pomiedzy dwoma jakimis wyrazami";
$pattern = "#bedzie(.*?)pomiedzy#";
$poszukiwane = ...? no wlasnie, co tutaj, jaka funkcje?

Chodzi o to, zeby $poszukiwane zwrocilo " trzeba wyciagnac kilka wyrazow znajdujacych sie ".

Prosze o pomoc.

P.S.
Wiem, ze temat byl poruszany na forum, ale nie w tym kontekscie. A bynajmniej jeszcze nie znalazlem odpowiedzi ;/
phpion
preg_match lub preg_match_all.
darko
explode
Spawnm
darko, jak masz pisać brednie to może nic nie pisz snitch.gif
Pokaż jak używasz Wyrażenia regularne w explode .
darko
Spawnm, chociaż w temacie postu autor napisał, że chodzi o regxp, to - jak widać z treści postu - w tym przypadku można sobie podarować wyrażenia regularne chcąc
Cytat
wydobyc ze stringa ciag znakow znajdujacy sie pomiedzy dwoma innymi (roznymi) ciagami znakow
. Oczywiście, że wyrażenia regularne nie mają zastosowania w funkcji explode, więc Ci nie pokażę.
shimano
Cytat(phpion @ 14.10.2009, 12:53:19 ) *


Dopiero zaczalem sie interesowac wyrazeniami regularnymi w PHP, ale z tego co widze, to obie funkcje zwracaja tylko false/true w formie liczby wystapien pasujacych ciagow. Czyli ciagle nie to o co mi chodzi.

Czyzby nie bylo prostej metody w PHP na wyciagniecie ciagu znakow ze stringa? Wiem, jak to zrobic "na piechote" krojac string itp, ale troche to bezsensowne... Zwlaszcza, jezeli istnieje (?) prostsza metoda.
maly_swd
".., to obie funkcje zwracaja tylko false/true w ..." , gdzie tak napisali w manualu?
shimano
Cytat(maly_swd @ 14.10.2009, 18:48:16 ) *
".., to obie funkcje zwracaja tylko false/true w ..." , gdzie tak napisali w manualu?


preg_match() returns the number of times pattern matches.
preg_match_all() Returns the number of full pattern matches (which might be zero), or FALSE if an error occurred.

Wsumie moznaby to zrobic przez te funkcje, ale wyniki zapisane sa w tablicy. Napewno jest to przydatne, jednakze na chwile obecna nie dla mnie...

Znalazlem chyba najlepsze jak do tej pory rozwiazanie (dla mnie). Jako $replacement dac "$1".
Fifi209
Cytat
If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.


Hmm...tylko true/false ?
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.