strstr strrchr und bis letztes Vorkommen
Elli
- php
Hi,
Es gibt die Funktionen:
strstr()
Gibt vom "Anfang" bis zm "ersten" gesuchten Zeichen alles zurück.
strrchr()
Gibt vom "letzten" gesuchten Zeichen bis "Ende" alles zurück.
Aber gibt es auch eine solche Funktion?
??? ()
Gibt vom "Anfang" bis zum "letzten" gesuchten Zeichen alles zurück.
Klar die Alternative wäre zb.
strrev(strstr(strrev($str),$x));
aber lieber wär mir eine bereits existierende Funktion.
Elli
Hello,
strstr()
Gibt vom "Anfang" bis zm "ersten" gesuchten Zeichen alles zurück.
if ($pos = strpos($haystack, $needle) !== false)
{
$result = substr($haystack,0,$pos + strlen($needle);
}
else
{
## kommt darauf an, was Du haben willst, wenn die gesuchte zeichenkette
## nicht im Vorlagetext steckt.
$result = '';
}
strstr() macht jedenfalls nicht das, was Du geschrieben hast.
Liebe Grüße
Tom vom Berg
(Hallo|Hi(ho)|Tag) Elli,
Aber gibt es auch eine solche Funktion?
Gibt vom "Anfang" bis zum "letzten" gesuchten Zeichen alles zurück.
Klar die Alternative wäre zb.
strrev(strstr(strrev($str),$x));
aber lieber wär mir eine bereits existierende Funktion.
Naja, genaugenommen sind es zwei Funktionen:
preg_replace('/\A(.*' . preg_quote($needle, '/') . ')/s', '$1', $haystack);
Diese Variante hat gegenüber den str-schlagmichtot-Funktionen den Vorteil,
dass sie mit winzigen Modifikationen noch leistungsfähiger wird:
* Groß-Klein-Schreibung wird ignoriert, wenn hinter das '/)s' noch ein kleines i gesetzt wird.
* Das Ganze kann mit UTF-8-Strings umgehen, wenn du ein kleines u hinzufügst.
* Beides zusammen geht übrigens auch.
MffG
EisFuX