Załóżmy, że chcę zwrócić wszystkie znaki po znaku igły 'x'
od:PHP substr po pewnym znaku, substr + strpos eleganckie rozwiązanie?
$source_str = "Tuex helo babe"
.
Normalnie bym to zrobić:
if(($x_pos = strpos($source_str, 'x')) !== FALSE)
$source_str = substr($source_str, $x_pos + 1);
Znasz lepszy/Smarter (bardziej elegancki sposób), aby to zrobić?
Bez użycia wyrażenia regularnego, które nie sprawiłoby, że byłoby bardziej eleganckie i prawdopodobnie również wolniejsze.
Niestety nie możemy zrobić:
$source_str = substr(source_str, strpos(source_str, 'x') + 1);
Bo kiedy 'x'
nie znaleziono strpos
powraca FALSE
(a nie jak w -1
JS). FALSE
wyliczyłoby zero, a pierwszy znak byłby zawsze odcięty.
Dzięki,
Użyj swojego pierwszego podejścia. – Gumbo
Nie możesz usunąć "! == FALSE" i w ten sposób będzie trochę bardziej kompaktowy? – Adam
@Gumbo, obawiam się, że masz rację. Plz zapisz to jako odpowiedź, a ja wybieram twoje, chyba że wyjdzie coś lepszego. –