Text ersetzen [smilies]
-
Also ich hab nen Text zum Beispiel
"Hallo :)"Jetzt kann ich das ja mit
$text = str_replace(":)", "<img src=\"graphics/smilies/sm_biggrin.gif\">", $text);ersetzen.
Nur meine Frage, wenn ich jetzt sehr viele hab, so an die 100 Stk. Und zum Beispiel aus
:-), etc, also aus mehreren Kombinationen das gleiche wird, wie macht man das dann am besten?
danke!
cu para
-
str_replace ist am besten.
wenn du an regexps denkst: das ist overhead der nur kostet und dir nix bringt.was sich vielleicht bringt ist folgendes: (bei langem text und vielen smilies):
zeichenweise durchgehen und alles gleich kopieren, und smilies so direkt ersetzen - müsste man mal messen.
-
HEHE, Ich habs jetzt, irgentwie genial:
Sagt mir bitte eure Meinung, mach erst seit gestern PHP und mySQL// function to convert a text to smilie text function Text2Smilie($text){ // defines $smiliepath = "graphics/smilies/"; $smilies[0] = array(":)#:-)", "smile00"); $smilies[1] = array(":open_mouth:", "eek00"); $smilies[2] = array(":biggrin#:D", "smile01"); // check all smlies for($s=0; $s<sizeof($smilies); $s++){ // get array $smilie = explode("#", $smilies[$s][0]); // get all modifications foreach($smilie as $face) $text = str_replace($face, "<img src=\"".$smiliepath.$smilies[$s][1].".gif\">", $text); } return $text; }
cu para
-
Hab schnell noch ne Frage.
Wenn ich ne Funktion hab und darüber ne Variable deklariert, wie kann ich dann in der Funktion drauf zugreifen?$test=0;
function foo(){
echo($test);
}
-
entweder halt mit übergeben, oder in der Funktion mit
global $test;
global machen
PS: Hat das mit dem rückwärts auslesen der Datei eigentlich geklappt?
[ Dieser Beitrag wurde am 01.03.2003 um 21:54 Uhr von flenders editiert. ]
-
Danke, habs dann schon im Forum über suchen gefunden.
Das mit dem rückwärtsauslesen hab ich seinlassen. So wie du sagtest hatte ich die Idee auch schon, aber da ich eh früher oder später mit mySQL anfangen wollte hab ichs halt mal probiert. Und es klappt wunderbar. Ich lass einfach nach der Zeit absteigend sortieren.
Danke euch allen :p
PS: Hätte nie gedacht, dass PHP + mySQL so easy ist, jedenfalls kommts mir voll easy vor...
ciao
-
nur mal zu deiner function...ich finde die bissl lang...so wäre es kürzer:
text_alt);
function text2smilie(text) { //\* zur daten bank biste sicher schon verbunden
*// result = @mysql_querry("SELECT code,url FROM tabelle_smilie);
while(result)) {
$code = row['code']; url = row['url']; str_replace(code, $url, $text);
}
}somit kannste auch durch nen content management system einfach smilies hinzufügen....kannst natürlich auch noch vor das str_replace folgendes setzen:
url." border="0">";
dann musste in der DB nurnoch den pfad speichern...wenn du noch ne extra tabelle hast wo du den pfad zum smilie verzeichnis speicherst kannste ja dementsprechent noch das ganze erleichtern für nen umzug von deinem Was-Auch-Immer script(nehme mal an gästebuch oder forum)
-
Ja so wäre es sicher schneller, aber ich wollte es erst ohne Datenbank machen.
PS: Wie ist es eigentlich wenn ein Webhoster 10 mySQL Datenbanken verspricht, hab ich dann auch wirklich 10 Datenbanken und kann dann in jeder dieser 10 x-beliebig viele Tabellen anlegen oder kann ich dann nur 10 Tabellen anlegen, weil wenn ich wirkliche 10 Datenbanken hab, dann hab ich doch nahezu "unbegrenzte Möglichkeiten" oder??
danke!
cu para
-
also wenn du 10 DB hast haste 10 DB's keien 10 tabellen sonst kannsten verklagen wegen unlauteren wettbewerbs (oder irgendsowas)
unbegrenzte möglichkeiten haste schon bei 1 DB nur eben nicht den gleichen speed wie bei 10
auserdem haste ja auf den DB's nicht unbegrenzt space, da musste dich ma erkundigen wieviel space du hast oder ob das einfach vom webspace abgezogen wird, sonst können dich überraschungen erwarten später
-
Danke für die Info.
echt spitze
-
@i6T2yC
Ich habe da noch mal ne kurze Frage:
Was muss jetzt in den Feldern von url und code stehen?
Und was ersetzt die Funktion? Das [url] in <a href="... oder das ganze keinenplan in <a href="keinenplan">Keinenplan</a>?[ Dieser Beitrag wurde am 05.03.2003 um 22:06 Uhr von HolyMetaler editiert. ]