Jump to content

Photo
* * * * * 1 votes

Wyszukiwanie wyrazen "miedzy wyrazeniami" w stringu


Best Answer unbreak, 15 March 2014 - 10:40

preg_match("/^TEST(.+)YO$/",$variable,$matches);
print_r($matches); //return array
i w $matches masz wszelkie dopasowania. Powyższy regex bierze wszystko co jest pomiędzy TEST a YO. Jeżeli chcesz ograniczyć np tylko to literowych elementów to użyj tego:
"/^TEST([a-zA-Z])YO$/"
Możesz oczywiście też zrobić coś na zasadzie:
$newVariable = preg_replace("/^TEST(.+)YO$/","$1",$variable);

echo $newVariable; //abcd;
Pierwsze rozwiązanie wywali CI wszystkie możliwe dopasowania (jeżeli tekst jest dłuższy i jest ich więcej, Drugie rozwiązanie nie jest takie dobre i może Ci wywalić za dużo tekstu. Go to the full post


3 replies to this topic
  • This topic is locked This topic is locked
WebRapko

    Użytkownik

  • 97 posts
    • Czas spędzony online: 12m
-12
Słaba
  • LocationMalopolska

Posted 15 March 2014 - 00:14

#1
Witam, mam pewne pytanie, czy jezeli mam taka zmienna:
$variable = "TESTabcdYO";
To czy moge wyciagnac ze stringa to "abcd" przy podaniu ze jest ona miedzy TEST oraz YO?
  • -1

unbreak

    WT Elite

  • 1937 posts
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Posted 15 March 2014 - 10:40   Best Answer

#2
preg_match("/^TEST(.+)YO$/",$variable,$matches);
print_r($matches); //return array
i w $matches masz wszelkie dopasowania. Powyższy regex bierze wszystko co jest pomiędzy TEST a YO. Jeżeli chcesz ograniczyć np tylko to literowych elementów to użyj tego:
"/^TEST([a-zA-Z])YO$/"
Możesz oczywiście też zrobić coś na zasadzie:
$newVariable = preg_replace("/^TEST(.+)YO$/","$1",$variable);

echo $newVariable; //abcd;
Pierwsze rozwiązanie wywali CI wszystkie możliwe dopasowania (jeżeli tekst jest dłuższy i jest ich więcej, Drugie rozwiązanie nie jest takie dobre i może Ci wywalić za dużo tekstu.
  • 2

webDeveloper


WebRapko

    Użytkownik

  • 97 posts
    • Czas spędzony online: 12m
-12
Słaba
  • LocationMalopolska

Posted 17 March 2014 - 21:01

#3
Dzieki :D Jestes PRO.
  • 1

zonic

    WT Elite

  • 2911 posts
    • Czas spędzony online: 134d 2h 28m 23s
472
Znakomita!
  • LocationToruń

Posted 17 March 2014 - 23:43

#4

Wnioskuję, że problem rozwiązany. Temat zamykam. W razie jakichkolwiek kłopotów proszę o otwarcie nowego tematu, bądź PW do mnie ze zleceniem otwarcia tego :)


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users