PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Smilies in Bilder umwandeln


FloRos
28.04.2002, 12:36:04
Also folgendes Problem ich hab ein Gästebuch und wenn jemand einen Smilie macht dann soll er in ein Bild umgewandelt werden.
ich hab es zwar schon hingekriegt allerdings nur mit einem einzigem Smilie.

Weiß einer wie ich das mit mehreren hinkriege ohne dabei 10-20 Funktionen zu schreiben??

so siehts bisher aus---->
-------------------------------------
$smilies=array(":-)", ":-(");
$smilie="<img src='smilie.gif'>";

foreach($smilies AS $erg){
$eintrag=ereg_replace("$erg", "$smilie", $eintrag);
}
-------------------------------------


Danke Flo

|Coding
28.04.2002, 15:05:37
hi,

versuch es doch mal so:

$eintrag = ereg_replace(":-)","<img src="smilie.gif">", $eintrag);
$eintrag = ereg_replace(":-(","<img src="smilie.gif">", $eintrag);
.
.
.

so kannst du das ganze voll easy erweitern.

FloRos
28.04.2002, 20:14:37
danke aber das ist genau das was ich versuche zu umgehen ich hab keine Lust soviele Funktionen zu schreiben. Am besten wäre ein Array wo alle Smilies drin stehen und dann irgendwie umgewandelt werden.

Aber wenns nicht anders geht dann muss ich das wohl so machen! Danke Flo

Nev
29.04.2002, 09:57:20
@FloRos


sicher geht das ganze auch mit einem Array:
Funktion: preg_replace


$out = preg_replace($searcharray, $replacearray, $out);


Das Searcharray beninhaltet alles was du ersetzten willst

Das Replacearray das passende Gegenstück

Wichtig ist das du immer in der selben Zeile bleibst, damit er es richtig ersetzt!

Progman
29.04.2002, 12:41:17
das sind doch nur smilies, die kann man doch mit str_replace umwandeln. Da braucht man doch kein preg_replace. "Mit Kanonen auf Spatzen schiessen"

Nev
29.04.2002, 13:13:24
Hi @gain

Wer weiß was ihn noch einfällt, was er noch übersetzten will.

wenn ich nur mal so nachdenke, fällt mir so auf die schnelle die ganzen Formatierungs-Funktionen von diesem Forum ein

Sicher ist es übertrieben, aber ab einer Menge von 30 Einträgen überlege ich mir auch eine bessere Möglichkeit

FloRos
30.04.2002, 00:22:48
werd mich jetzt mal dran setzten hab ja morgen frei :-)

Danke für eure Tipps, auch wenn ich schon vorher genauso viel wusste. ich werds irgendwie mit nem array lösen das hab ich mir jetzt vorgenommen. SO

Also bis denne und Danke nochmal
FloRos

Coda
01.05.2002, 16:27:35
öh speicher die smilies doch in ner DB und probiers so

$query = mysql_query("SELECT code,url FROM smilies");
while($queryresult = mysql_fetch_array($query))
{
$code = $queryresult[code];
$url = $queryresult[url];
$text = str_replace("$code", "<img src="$url">", $text);
}

funzt bei mir wunderbar ;-)

FloRos
01.05.2002, 18:35:45
du hast glaube ich Recht so wies aussieht müsste das sogar funktionieren gleich mal mein Script umschreiben.

Danke du bist mein Retter !!!

FLO

joker
21.08.2003, 15:54:29
hi, hab da ein fehler irgendwie :(

fehlermeldung: Warning: Supplied argument is not a valid MySQL result resource in /var/www/web1/html/inc/scripte/smilies.php on line 7

code:

<?php

$sql = @mysql_connect("$sql_host", "$sql_user", "$sql_pass") or
die("Keine Verbindung zu Datenbank! Fehlermeldung: ".mysql_error());

$query = mysql_query("SELECT path,code FROM smilies");
while($queryresult = mysql_fetch_array($query))
{
$code = $queryresult[code];
$path = $queryresult[path];
$text = str_replace("$code", "<img src="$path">", $text);
}

?>


pls help :)

joker
21.08.2003, 19:26:19
kann mir keiner sagen was die fehlermeldung bedeuted?

FloRos
21.08.2003, 22:33:06
ich würde es so machen:

<?php

$sql = @mysql_connect("$sql_host", "$sql_user", "$sql_pass") or
die("Keine Verbindung zu Datenbank! Fehlermeldung: ".mysql_error());

$query = mysql_query("SELECT path,code FROM smilies");
while(list($path, $code)=mysql_fetch_row($query))
{
$code1=$code;
$path1=$path;
$text = str_replace("$code1", "<img src="$path1">", $text);
}
?>


hab jetzt aber nicht ausprobiert ob es geht, müsste aber.
Oder?? Was schreib ich eigentlich? ;)

Taube
21.08.2003, 22:43:55
ich glaub ich hab das Richtige für dich:

array(":-)"=>"smilie_happy.jpg", ":-O"=>"smilie_angry.jpg" ...);

und dann auf diese Weise das Ganze ersetzen?

mfg - Taube

joker
21.08.2003, 22:54:27
ne, den fehler zu finden ist wichtiger, da ich es auch per datenbank und per formular ändern wollte, geht ja auch alles, hinzufügen, entfernen editieren, nur das einzeigen :( da kommt de roben genannte fehler.

pls helping^^

Bigdaddy
22.08.2003, 07:14:29
hab was geschrieben, stimmte dann aber nicht, leider kann ich den eigenen beitrag nicht löschen *läl*

Bitte admin um löschung, thx ;)

chris17
22.08.2003, 09:21:15
Hallo zusammnen,

@joker
Hast Du schon mal ein mysql_select_db eingebaut?

joker
22.08.2003, 21:56:42
lol ich ideot^^
hab ich irgendwie komplett übersehen, und ich zerreis mein kopf :(
aber irgendwie wandelt er nicht die smilies um

also, hab ne db erstellt

id path title code
1 http://***/images/smilies/biggrin.gif großes Grinsen :D

und wenn ich in meiner site ein :D schreibe wird es nicht umgewandelt :(, ja das script ist includet ?:(