Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

PHP Funktion für Smilies





Frage

Hallo Leute, ich muss kurz ausholen: Bei meinen Webseiten habe ich früher immer iFrames benutzt. Nur wurden die bei vielen Browsern immer unterschiedlich angezeigt und ich konnte die Höhe nie wirklich richtig anpassen dass alles angezeigt wird und so bin ich dazu übergegangen, meine Navigationen oder anderes in TXT-Dateien zu schreiben und diese dann in meiner Webseite aufrufen zu lassen. Die TXT Datei sieht dann z.B. so aus: [code] <?php echo "<td width=´85%´ vAlign=´top´ align=´right´>"; echo "<a href=´home.php´>Startseite</a><br><br>"; echo "<a href=´book.php´>Gästebuch</a><br><br>"; echo "<a href=´person.php´>zur Person</a><br><br>"; echo "<a href=´downloads.php´>Downloads</a><br><br>"; echo "<a href=´mygames.php´>MyGames</a><br><br>"; echo "<a href=´links.php´>Weblinks</a><br><br>"; echo "<a href=´kontakt.php´>Kontakt</a><br><br>"; echo "<a href=´impressum.php´>Impressum</a><br><br>"; echo "<a href=´en/´><img src=´root/en.png´ border=´0´></a><br><br>"; ?> [/code] Und in meinen Webseiten musste ich nur folgendes aufrufen und schon hat alles funktioniert. [code] <?php include("root/navigation.txt"); ?> [/code] So füge ich auch die News bei mir ein. Praktischerweise muss ich nur die TXT Datei ändern und hochladen - fertig. Jetzt möchte ich aber einen Art Smilie Konverter haben. Sprich, ich gebe in eine meiner TXT Dateien einen Smily Code ein, z.B. ´ :-) ´ und bei der Ausgabe soll dann für diesen Text ein richtiges Bild eingefügt werden ohne dass ich selber den Code einfügen muss. Allerdings weiß ich nicht, was ich dafür machen muss. Hab folgendes ausprobiert nur klappt das nicht. [code] <?php function smilies() { str_replace(´:)´, ´<img src=".smilies/smile.gif" border="0">´ ); str_replace(´:(´, ´<img src="smilies/sad.gif" border="0">´ ); str_replace(´:cool:´, ´<img src="smilies/cool.gif" border="0">´ ); str_replace(´:mad:´, ´<img src="smilies/mad.gif" border="0">´ ); str_replace(´:D´, ´<img src="smilies/biggrin.gif" border="0">´ ); str_replace(´:8´, ´<img src="smilies/rolleyes.gif" border="0">´ ); str_replace(´;)´, ´<img src="smilies/zwinkern.gif" border="0">´ ); str_replace(´:/´, ´<img src="smilies/verwirrt.gif" border="0">´ ); return ; } ?>[/code] Und in der Navigation.TXT dann: [code]include("funktion.txt"); [/code] Hoffentlich kann mir jmd. von euch unter die Arme greifen ;) Danke!

Antwort 1 von Hergy

Hallo Marcel,

versuch mal folgendes:
Kopiere diesen Funktion in die navigation.txt
(Du mußt alle Abostroph in Hochkommatas ändern, da sie im Supportnet nicht angezeigt werden)

 <?php 
function smilies($var) {
  $file=fopen($var,´r´);
  $text=fread($file,10000000);
  $text=str_replace(´:)´, ´<img src=".smilies/smile.gif" border="0">´,$text); 
  $text=str_replace(´:(´, ´<img src="smilies/sad.gif" border="0">´,$text); 
  $text=str_replace(´:cool:´, ´<img src="smilies/cool.gif" border="0">´,$text); 
  $text=str_replace(´:mad:´, ´<img src="smilies/mad.gif" border="0">´,$text); 
  $text=str_replace(´:D´, ´<img src="smilies/biggrin.gif" border="0">´,$text); 
  $text=str_replace(´:8´, ´<img src="smilies/rolleyes.gif" border="0">´,$text); 
  $text=str_replace(´;)´, ´<img src="smilies/zwinkern.gif" border="0">´,$text); 
  $text=str_replace(´:/´, ´<img src="smilies/verwirrt.gif" border="0">´,$text); 
  return $text;
} 
?>


Und an der stelle, wo Du die Textdateien includen willst, rufst Du stattdessen die Funktion auf (kein includeieren mehr nötig - der echo-Befehl in der Funktion zeigt den Text an):

<?php
  echo smilies("verzeichnis/beispiel.txt");
?> 


Anstatt
 "verzeichnis/beispiel.txt"
gibst Du den Dateinamen bzw.den Pfad der Textdatei an !!!

Gruß hergy

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: