PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: Wie bestimmte Zeichenkette am Anfang eines Strings loswerden?


mf_2
2006-12-06, 17:02:25
Hallo,

Ich habe ein recht simples Problem, komme aber irgendwie gerade nicht auf die Lösung.

Aus einer Datenbank bekomme ich viele Strings im folgenden Format:

LOLtext
LOLein_anderer_text
LOLquatsch
ROFLbla
ROFLblablupp
test_text

Ich möchte nun so einen String auf folgendes überprüfen: Wenn er ein LOL oder ein ROFL am Anfang hat, soll das abgeschnitten werden.
Wie stelle ich das am elegantesten an?
ltrim() kann afaik nur Leerzeichen raushauen.
Und wie genau überprüfe ich, ob nur in den ersten 3 bzw. 4 Buchstaben LOL bzw ROFL vorkommt?
so ein eintrag (wtf_LOL_omg) soll sein LOL behalten!

Merkwürdiges Beispiel, gebe ich ja zu ^^, aber das Problem sollte erkennbar sein.

Vielen Dank schonmal für eure Hilfe!
mf_2

Sephiroth
2006-12-06, 17:15:15
preg_replace (http://de.php.net/manual/de/function.preg-replace.php) oder strstr (http://de.php.net/manual/de/function.strstr.php)

dav133
2006-12-09, 12:53:20
<?

<?

$Eingabe = array(LOLtext,LOLein_anderer_text,LOLquatsch,ROFLbla,ROFLblablupp,test_text,roFl test);


foreach ($Eingabe as $Element)
{
//Prüfen auf LOL
if (strtoupper(substr($Element,0,3)) == "LOL")
{
//Ausgeben des "beschnittenen" Elements
echo substr($Element,3,strlen($Element)-3) . "<br>";
}

//Prüfen auf ROFL
elseif (strtoupper(substr($Element,0,4)) == "ROFL")
{
//Ausgeben des "beschnittenen" Elements
echo substr($Element,4,strlen($Element)-4) . "<br>";
}
else
{
//sonst normal ausgeben
echo $Element . "<br>";
}


}
?>


Natürlich gehts auch anders, ich habs nur mal schnell so geschrieben. Statt der Ausgabe packst du den Kram halt in ne andere Variable, das wirste schon selbst schaffen ;).

lg

The_Invisible
2006-12-10, 11:53:39
$output_string = preg_replace("/^(rofl|lol)/i", "", $input_string);


mfg