Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie pierwszych znaków z ciągu
Forum PHP.pl > Forum > Przedszkole
Maq2007
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
Fifi209
A czemu nie str_replace ?
Maq2007
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.
Fifi209
Aha no fakt nie pomyślałem.

Co do wyrażeń przecież możesz zrobić np.

/^(slowo|slowo2|slowo3).*$/
dr_bonzo
Juz blisko smile.gif

preg_replace( '/^(slowo|slowo2|slowo3)/', '', $text );
Maq2007
@dr_bonzo - dzięki działa, wiedziałem że to można jakoś prościej zrobić;p
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.