PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erstes Vorkommen überspringen? strstr bringt nichts


RobertWienecke
07.09.2011, 12:17:39
Liebe Gemeinde.

Ich stehe mal wieder total vor auf dem Schlauch...

Habe einen String und ersetze aus diesem bestimmte Werte...

Bsp.: str_replace($suchen, $ersetzen, $string)
Nun möchte ich aber, dass das 1. Vorkommen von $suchen NICHT ersetzt wird, und das str_replace sozusagen erst ab dem 2. Vorkommen des $suchen das Gesuchte ersetzt...

Weiß da jemand Rat?

Gruß,
Robert :(

vt1816
07.09.2011, 12:33:31
Verwende zusätzlich strstr() (http://de.php.net/manual/de/function.strstr.php) bzw. strpos() (http://de.php.net/manual/de/function.strpos.php) und substr() (http://de.php.net/manual/de/function.substr.php).

RobertWienecke
07.09.2011, 16:23:31
Hallo...

danke für Deine Zügige Hilfe... Habe da auch mal etwas probiert...

$sting = "hallo du da, hallo ihr anderen, hallo mama";
$suchen = "hallo";
$ersetzten = "hey";

$neu = str_replace($suchen, $ersetzten, substr($string, strpos($string, $suchen)+strlen($suche)));

Dadurch wird aber das 1. hallo komplett gelöscht... Ich möchte aber, dass das erste 'hallo' stehen bleibt und alle anderen in "hey" (das geht schon) umgewandelt werden....

Hast Du vielleicht noch Hilfe für mich? Ich komme da ehrlich nicht weiter.

Gruß,
RO

vt1816
07.09.2011, 16:55:22
Du musst natürlich den durch SUBSTR() entfernten Teil aus Deinem Such-String am Ende wieder dem Ersetzen-String hinzufügen.
Beachte Groß-/Kleinschreibung!

RobertWienecke
08.09.2011, 17:20:52
Habs nun hinbekommen.
Jedoch auch mit fremder Hilfe

Ich glaube all das ist zu kompliziert für mich und um es hier einmal hinzuschreiben.

Mag sich jemand freiwillig (am besten jemand aus dem selfphp-Team), der sich das alles mal anguckt und mir "zuhört".

Gegenleistung wäre natürluich auch drin. Hätte da an ca. 5 EUR (paypal) gedacht?!

Wenn jemand, der wirklich gut PHP kann, interesse hat, einfach maelden - dem schreib ich es dann.

Gruß,
abRobert