• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

str_replace problem

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
hi lute,

hab n gästebuch programmiert mit php und mysql...

hat natürlich ne smily function do näh??..

naja solange man keine smileys benutzt geht auch alles, aber sowie man sie einfügt is ende so ne!
da wird dann gar nichts mehr gespeichert!

wär krass nett wenn ihr den fehler findet

hier der code
PHP:
<?php
$name = $_REQUEST['name'];
$mail = $_REQUEST['mail'];
$text = $_REQUEST['text'];
$datum = date("d.m.Y");
$nummer=1;
$ip = $_SERVER['REMOTE_ADDR'];

$abfrage = "SELECT nummer FROM guestbook";
$ergebnis = mysql_query($abfrage);
   while($row = mysql_fetch_object($ergebnis))
    {
     $nummer++;
    }

$textb = str_replace(":D", "[img]smileys/biggrim.gif[/img]</img>", $text);
$textc = str_replace(":S", "[img]smileys/confused.gif[/img]</img>", $textb);
$textd = str_replace("8)", "[img]smileys/cool.gif[/img]</img>", $textc);
$texte = str_replace(":<", "[img]smileys/evil.gif[/img]</img>", $textd);
$textf = str_replace("0.o", "[img]smileys/eek.gif[/img]</img>", $texte);
$textg = str_replace(";)", "[img]smileys/wink.gif[/img]</img>", $textf);
$texth = str_replace(":|", "[img]smileys/neutral.gif[/img]</img>", $textg);
$texti = str_replace(":P", "[img]smileys/razz.gif[/img]</img>", $texth);
$textj = str_replace(":(", "[img]smileys/sad.gif[/img]</img>", $texti);
$textk = str_replace(":)", "[img]smileys/smile.gif[/img]</img>", $textj);
$textl = str_replace("xD", "[img]smileys/uglis.gif[/img]</img>", $textk);
$textm = str_replace("=)", "[img]smileys/mrgreen.gif[/img]</img>", $textl);
$textn = nl2br($textm);

$text = $textn;

mysql_connect("mysql1", "***","***")or die("Keine Verbindung moeglich, bitte versuchen sie es später noch einmal");
mysql_select_db("phost22027")or die("Keine Verbindung moeglich, bitte versuchen sie es später noch einmal");

$eintragb = "INSERT INTO guestbook (nummer, name, mail, ip, datum, text) VALUES ('$nummer', '$name', '$mail', '$ip', '$datum', '$text')";
 $eintragenb = mysql_query($eintragb);
echo $text;
?>

so und das beste is, dass bei echo $text immer das richtige steht aber mit smily will der halt net mehr speichern in der mysql.
Danke!
 
Werbung:
1)setz die strings in der replace funktion in singlequotes, vielleicht will er durch die doublequotes was interpretieren.
2)das is ein schreckliches script
3)warum zum teufel schliesst du <img> tags?
 
1) nein das bringt nichts, es geht immer noch nicht wenn ein smiley dabei ist
2)sieht wahrscheinlich nur so aus (das ganze wird included)
3) ka habs weg gemacht ^^
 
Werbung:
ich löse das so in der art:
Code:
<?php
	//Funktion fuer Frank
	function re_smiley($str) { 
	$search = array(':)', ':D', '>.<', ';)'); //USW 
	$replace = array('<img src...>'); //USW 
	return str_replace($search, $replace ,$str); 
	} 
?>
 
übrigens das mit der nummer kannst du viel einfacher lösen ;)

mach das einfach mit auto_increment in der DB ;)
 
Frank schrieb:
$textb = str_replace(": D", "
biggrim.gif
</img>", $text);
$textc = str_replace(": S", "
confused.gif
</img>", $textb);
$textd = str_replace("8)", "
cool.gif
</img>", $textc);
$texte = str_replace(":<", "
evil.gif
</img>", $textd);
$textf = str_replace("0.o", "
eek.gif
</img>", $texte);
$textg = str_replace(";)", "
wink.gif
</img>", $textf);
$texth = str_replace(":|", "
neutral.gif
</img>", $textg);
$texti = str_replace(":p", "
razz.gif
</img>", $texth);
$textj = str_replace(":(", "
sad.gif
</img>", $texti);
$textk = str_replace(":)", "
smile.gif
</img>", $textj);
$textl = str_replace("xD", "
uglis.gif
</img>", $textk);
$textm = str_replace("=)", "
mrgreen.gif
</img>", $textl);
$textn = nl2br($textm);

$text = $textn;
Du kannst auch immer nur $text = str_replace() schreiben, die muss du nicht "durchnummerieren"
 
Werbung:
nein es ist vollkommen egal. du kannst auch ein div so schliessen: <div /> . wie du schliesst ist egal, hauptsache du machst es [natürlich gibt es fehlerhafte browser die eins von beiden bei bestimmten elementen nicht akzeptieren, das ist nur dann ein problem des browsers ]
 
Werbung:
ja das mit dem $text war auch schonmal so, in meiner verzweiflung habe ich dann alles geändert.

Ich habe jetzt eine lösung gefunden.
Wenn ich das str_replace.... und das speichern in der mysql auf verschiedenen seiten mache geht es plötzlich.

komisch oder :!: :?:

naja jetzt gehts und das reicht mir vorerst! ^^

danke für eure hilfe
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben