Zeichen ersetzen im großen Stil

Moritz123

Erfahrenes Mitglied
Hallo!

ich habe einen Freund, der eine Webseite auf persisch schreiben möchte. Dazu benötigt er ja diese, ich glaube, ANSI-Codes. Nun ist es sehr viel Arbeit einen Text in ANSI-Codes zu schreiben und daher dachte ich, ich schreibe ihm ein kleines Tool in PHP, bei dem er den "normalen" Text in Textfeld eingibt und dann "hinten" das ganze in ANSI-Zeichen übersetzt heraus kommt.
Nun könnte ich mir vorstellen, dass das die string_replace()-Funktion bei einer gewissen Textlänge überfordert.
Welche Möglichkeiten gibt es noch, die evtl auch schneller sind als str_replace()?

Vielen Dank!
 
Was spricht denn gegen die str_replace Methode ? Ein Array für die Ausgangszeichen, ein Array für die Endproduktzeichen und dann das ganze mit Schmackes durch eine while() Schleife laufen lassen und fertig ist der ANSII Salat.
 
Vielen Dank!

Ich habe noch nie mit Arrays gearbeitet - gibt es irgendwo eine vernünftige Erläuterung zur Funktionsweise, etc ?
 
Also ich poste dir hier mal ein Beispiel, was ich z.B. zum ersetzen von Smileys durch Grafiken in einem Newsscript nutze:
PHP:
//Das Array mit den Zeichen die eingegeben werden
$eingabe = array("[ b ]","[ /b ]","[ i ]","[ /i ]",":)",";)",":D",":p",":(",":-(",":eek:",":rolleyes:","[!]");

//Das korrespondierende Array mit den auszugebenden Zeichen
$ausgabe = array("<b>","</b>","<i>","</i>",
 "<img src=\"images/smileys/smile.gif\">",
 "<img src=\"images/smileys/wink.gif\">",
 "<img src=\"images/smileys/biggrin.gif\">",
 "<img src=\"images/smileys/tongue.gif\">",
 "<img src=\"images/smileys/frown.gif\">",
 "<img src=\"images/smileys/mad.gif\">",
 "<img src=\"images/smileys/eek.gif\">",
 "<img src=\"images/smileys/rolleyes.gif\">",
 "<img src=\"images/smileys/achtung.gif\">");

//Die for Schleife (alternativ auch mit while möglich)
for ($x=0;$x<count($eingabe);$x++){
    $news = str_replace($eingabe[$x],$ausgabe[$x],$news);
	}
Das ganze kannst du meiner Meinung nach sehr einfach an deine Bedürfnisse anpassen.
 
Zuletzt bearbeitet:
Zurück