str_replace nicht von gross/klein unterschieden lassen

Dominion

Mitglied
Also wie in diesem Thread hier geschildert, will ich ein paar zeichen aus einer datenbank auswertung ersetzen, dabei soll allerdings nicht zwischen gross und klein schreibung unterschieden weren (also so wie bei eregi_replace, allerdings kann ich das ja leider net anwenden) Also, wie könnte ich das problem lösen?
 
hmm ich versteh die frage nich ganz...

aber wo du was von datenbanken redest wie wärs du probiersts mit SELECT * FROM $db WHERE $blah LIKE $blubb ?
 
PHP:
$text = str_replace ("irgendwas",str_replace("IRGENDWAS",$text));

Für den fall dass es nur wenige dinge sind die ersetzte werden müssen ist das eine lösung. Wenn es sehr viel mehr ist würde ich es mit Regular Experssions probieren.

So Long
TheVirus
 
ich glaub wir drehen uns im kreis :D Wenn du mit Regular expression ereg(i)_replace meinst (was anderes hab ich darunter net gefunden ?!) Dann hab ich das wie schon gesagt bereits vergeblich verushct
 
Also es ist (wie im anderen thread beschrieben) für ein news system in dem ubb code gebraucht werden soll. Da kann nun natürlich mehrmals ein [b.] vorkommen und die sollen dann alle durch <b> ersetzt werden. Aber auch wenn ich jetzt [B.] schreibe soll er es ersetzen (und jetzt nicht nur deshalb weil ich nach gross und klein schreibung suche und die dann ersetze, der soll das halt einfach ignorieren, so wie eregi_replace halt den unterschied gegenüber ereg_replace hat das es nicht auf gross und klein schreibung achtet such ich jetzt eine funktion die ganu so wie str_replace funktioniert aber NICHt auf gross und klein schreibung achtet)
 
string str_replace ( string needle, string str, string haystack)


Diese Funktion ersetzt alle Vorkommen von needle innerhalb der Zeichenkette haystack durch den String str.

Somit dürfte sich dein erstes Problem wohl erledigt haben.

Zum zweiten problem: wenn du nicht gross und klein expilizit austauschen willst kannst du folgendes machen

PHP:
$text = str_replace ("[","<",str_replce(".]",">",$text));

Funktioniert allerdings nur wenn du b für bold, i für italic und so nimmst.

So Long
TheVirus
 
sowie [ Sonderzeichen sind und mit nem Backslash eingeleitet werden müssen.
Anstatt "[b]" musst du also "\[b\]" schreiben.

Soweit ich weiss, gibt es kein Pendant bei str_replace(), ist aber auch nicht wichtig, eregi_replace() leistet beste Dienste:
PHP:
 $text=eregi_replace("\\[b\\]","<b>",$text);

eregi_replace() ersetzt übrigens, genau wie
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück