PHP Funktion
ich bin noch nicht wirklich belesen mit den funktionen von php und würde mich über ein bisschen hilfe freuen
Hallo Zusammen,
ich programmiere momentan mit PHP/HTML ein Gästebuch und es läuft soweit auch schon. Nun möchte ich mein Gästebuch verfeinern.
Als Aufgabe wurde mir gestellt, dass ich zu Smilies einbinde, wenn jemand ins Textfeld , usw. eingibt.
Mit meinen beiden Arrays war ich auch erfolgreich doch nun soll ich das mit einer Funktion ins Gästebuch einbinden und da komme ich ins schleudern.
Hinter der Variable $text verbirgt sich die Textausgabe in meinem Gästebuch. Leider greift diese Funktion nicht und ich weiss nicht wieso.
Kann mir da jemand helfen?
LG,
dempsey
Hallo Zusammen,
ich programmiere momentan mit PHP/HTML ein Gästebuch und es läuft soweit auch schon. Nun möchte ich mein Gästebuch verfeinern.
Als Aufgabe wurde mir gestellt, dass ich zu Smilies einbinde, wenn jemand ins Textfeld , usw. eingibt.
Mit meinen beiden Arrays war ich auch erfolgreich doch nun soll ich das mit einer Funktion ins Gästebuch einbinden und da komme ich ins schleudern.
function textsmileconv($text){
$smileys = array(0 => ":-)", 1 => ";-)", 2 => ":-\(", 3 => ":-P", 4 => ":-D");
$gif = array(0 => "smile.gif", 1 => "zwinker.gif", 2 => "sad.gif", 3 => "zunge.gif", 4 => "lol.gif");
for($i = 0; $i <= 4; $i++) {
//alle vorkommen von ? ersetzen durch ?
$text = eregi_replace($smileys[$i],"<img src='img/".$gif[$i]."' alt='$smileys[$i]'>",$text);
}
return($textsmileconv);
}
Hinter der Variable $text verbirgt sich die Textausgabe in meinem Gästebuch. Leider greift diese Funktion nicht und ich weiss nicht wieso.
Kann mir da jemand helfen?
LG,
dempsey
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 152581
Url: https://administrator.de/contentid/152581
Ausgedruckt am: 08.11.2024 um 20:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo Dempsey
ERSTENS:
Vergleiche folgendes...
Das wirft evtl. auch eine Fehlermeldung - werden die bei dir ausgegeben !?
ZWEITENS:
ereg_replace arbeitet mit regulären Ausdrücken PHP-Manual - ereg_replace
Weil du einfache Zeichenketten als "Suchmuster" verwendet, wäre hier str_replace besser/schöner PHP-Manual str_replace
Viel Erfolg beim weiter tüfteln
~Arano
ERSTENS:
Vergleiche folgendes...
function textsmileconv($text){
textsmileconv($count, $text);
ZWEITENS:
ereg_replace arbeitet mit regulären Ausdrücken PHP-Manual - ereg_replace
Weil du einfache Zeichenketten als "Suchmuster" verwendet, wäre hier str_replace besser/schöner PHP-Manual str_replace
Viel Erfolg beim weiter tüfteln
~Arano
Moin moin,
Ja stimmt da hast du recht, das habe ich auch so gemacht
Aber mir fiel gerade noch etwas an ereg_replace auf, seit PHP 5.3 ist die Funktion sowieso missbilligt.
Funktioniert es denn jetzt ?
Der Beitrag ist __noch nicht__ als gelöst markiert und aus deiner Antwort kann ich nicht auslesen ob es nun läuft oder was es nun für Probleme sind !?
~Arano
Ja stimmt da hast du recht, das habe ich auch so gemacht
Aber mir fiel gerade noch etwas an ereg_replace auf, seit PHP 5.3 ist die Funktion sowieso missbilligt.
Funktioniert es denn jetzt ?
Der Beitrag ist __noch nicht__ als gelöst markiert und aus deiner Antwort kann ich nicht auslesen ob es nun läuft oder was es nun für Probleme sind !?
~Arano
Hi dempsey,
also nochmal langsam ... was genau funktioniert denn nicht?
bzw. was meinst du mit auslesen der Funktion?
Du hast eine Funktion, die einen (in deinem Fall) Text erwartet.
Der Text wird auf Smileys geprüft und diese ggf. ersetzt.
Danach wir der Text wieder zurückgegeben.
Das hier funktioniert doch auch ... (geringfügig geändert)
Wo steckt Dein Problem?
Edit: Rufst Du diese Funktion in deiner übergeordneten Funktion überhaupt auf?
Gruß
also nochmal langsam ... was genau funktioniert denn nicht?
bzw. was meinst du mit auslesen der Funktion?
Du hast eine Funktion, die einen (in deinem Fall) Text erwartet.
Der Text wird auf Smileys geprüft und diese ggf. ersetzt.
Danach wir der Text wieder zurückgegeben.
Das hier funktioniert doch auch ... (geringfügig geändert)
Wo steckt Dein Problem?
Edit: Rufst Du diese Funktion in deiner übergeordneten Funktion überhaupt auf?
<?php
function textsmileconv($text){
$smileys = array(0 => ":-)", 1 => ";-)", 2 => ":-\(", 3 => ":-P", 4 => ":-D");
//$gif = array(0 => "smile.gif", 1 => "zwinker.gif", 2 => "sad.gif", 3 => "zunge.gif", 4 => "lol.gif");
$gif = array(0 => "SMILE", 1 => "ZWINKER", 2 => "SAD", 3 => "ZUNGE", 4 => "LOL");
for($i = 0; $i <= 4; $i++) {
//$text = eregi_replace($smileys[$i],"<img src='img/".$gif[$i]."' alt='$smileys[$i]'>",$text);
$text = str_replace($smileys[$i],$gif[$i],$text);
}
return($text);
}
$text = "AA:-)BB";
$ausgabe = textsmileconv($text);
echo "vorher: ".$text;
echo "<br />";
echo "nachher: ".$ausgabe."";
?>
Gruß
ok ...
wenn ich das mal kurz überfliege, sieht deine Lösung meiner Meinung nach so aus:
in Zeile 23:
folgendes machen:
Vorraussetzung, dass das funktioniert ist aber, dass du in Zeile 78 die Variable $value, die Du in Zeile 80 zurückgibst, füllst:
Gruß
wenn ich das mal kurz überfliege, sieht deine Lösung meiner Meinung nach so aus:
in Zeile 23:
<?
$text; //similies hier ersetzen
?>
folgendes machen:
<?
$value.= textsmileconv($text);
?>
Vorraussetzung, dass das funktioniert ist aber, dass du in Zeile 78 die Variable $value, die Du in Zeile 80 zurückgibst, füllst:
<?
$value = str_replace($smileys[$i],"<img src='img/".$gif[$i]."' 'alt=".$smileys[$i]."'>",$text);
?>
Gruß
Hi
Sollte Zeile 23 nicht so lauten:
*weiterles...*
OHHH ! oO
In der Funktion textsmileconv wird die Variable $value zurückgegeben ABER diese Variable existiert nicht !
So sollte Teile 80 wahrscheinlich so lauten:
Es wurde schlicht und einfach (wegen der falschen Variable) "nichts/null/leer" zurückgegeben.
~Arano
Sollte Zeile 23 nicht so lauten:
$value.= textsmileconv($text);
OHHH ! oO
In der Funktion textsmileconv wird die Variable $value zurückgegeben ABER diese Variable existiert nicht !
So sollte Teile 80 wahrscheinlich so lauten:
return($text);
Es wurde schlicht und einfach (wegen der falschen Variable) "nichts/null/leer" zurückgegeben.
~Arano