![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem, otóż muszę z przykładowego ciągu "abrakadabra" (zmienny) usunąć pierwsze znaki, z tym że są 4 możliwości (one są stałe) co to za znaki mają być usunięte: 1. test 2. php 3. abra 4. pomoc Jak można zauważyć mają one inną długość, ale zawsze występują na początku ciągu. Chcę aby skrypt usunął jedno z tych czterech wyrażeń z początku ciągu jeśli wystąpi takowe na jego początku. Po prostu chcę aby z takiego "abrakadabra" zostało "kadabra" a nie samo "kad" jak to jest w przypadku użycia str_replace, natomiast substr wraz z strlen także odpadają z powodu różnej długości wyrażeń do usunięcia. Teoretycznie mogę skorzystać z preg_match i wyrażenia regularnego, ale w takim przypadku będzie trzeba użyć także parę razy if wraz substr oraz strlen, co spowoduje raczej niepotrzebny rozrost kodu. Szukam raczej czegoś bardziej optymalnego ;] Z góry dzięki za pomoc Ten post edytował Maq2007 20.08.2009, 00:01:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A czemu nie str_replace ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
z tego co się orientuję w str_replace nie wplecę wyrażenia regularnego ;p a przy kodzie typu
Kod str_replace('abra', '', 'abrakadabra'); wyjdzie mi "kad" zamiast "kadabra". Chyba że czegoś nie wiem o jakimś magicznym parametrze do tej funkcji.
Ten post edytował Maq2007 19.08.2009, 23:56:16 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Aha no fakt nie pomyślałem.
Co do wyrażeń przecież możesz zrobić np. /^(slowo|slowo2|slowo3).*$/ |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Juz blisko (IMG:style_emoticons/default/smile.gif)
preg_replace( '/^(slowo|slowo2|slowo3)/', '', $text ); |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
@dr_bonzo - dzięki działa, wiedziałem że to można jakoś prościej zrobić;p
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:54 |