lassen Sie uns sagen, ich möchte alle Zeichen nach einigen Nadel char 'x'
aus:PHP substr nach einem bestimmten char, eine substr + strpos elegante Lösung?
$source_str = "Tuex helo babe"
zurückgeben.
Normalerweise würde ich das tun:
if(($x_pos = strpos($source_str, 'x')) !== FALSE)
$source_str = substr($source_str, $x_pos + 1);
Kennst du eine bessere/intelligentere (elegantere Weise), dies zu tun?
Ohne regexp wäre das nicht eleganter und wahrscheinlich auch langsamer.
Leider können wir nicht tun:
$source_str = substr(source_str, strpos(source_str, 'x') + 1);
Denn wenn 'x'
nicht gefunden wird, gibt strpos
FALSE
zurück (und nicht -1
wie in JS). FALSE
würde zu null auswerten, und das erste Zeichen wäre immer abgeschnitten.
Danke,
Verwenden Sie Ihren ersten Ansatz. – Gumbo
konnten Sie das "! == FALSE" nicht entfernen und so wird es etwas kompakter? – Adam
@Gumbo, ich fürchte, du hast Recht. Plz schreiben Sie es als eine Antwort auf, und ich wähle Ihre, es sei denn etwas Besseres kommt heraus. –