Frage zu "str_replace" .

T

Thorsten Ball

Also, als ersten mal: Hallo @ all! Bin neu hier. :)

Zu meiner Frage:
Ich habe vor auf meiner HP in den News die Zeichen ( :), ;), usw. ) durch Smileys ersetzen zu lassen.
Das klappt auch ganz gut. Aber leider nur mit einem Zeichen.
Es sieht imoment so aus:
Ich habe eine Datei ( von NewsPHP generiert ) , die news.txt, in der alle News stehen. Dann habe ich eine inews.php in der ich diesen Code habe:
PHP:
<?php
$Datei = fopen("http://www.damnsite.net/blabla/news.txt", "r");
$Zeile = true;
while ($Zeile)
{
$Zeile = fgets($Datei);
$text = str_replace(";)","<img src=\"smileys\zaehne.gif\">",$Zeile);
echo $text;
}
fclose($Datei);
?>

Und diese Datei ist in einem iframe. Das nur zur Info, falls es damit was zu tun hat ( wegen script ).

Was muss ich bei dem Script dazu machen damit mehr Smileys ersetzt werden?

MrNugget

edit: was will das mit dem wink? das kommt nicht im script vor?

Hier ist der richtige script:
http://www.damnsite.net/smileyscript.html
 
Zuletzt bearbeitet von einem Moderator:
Einfach weitere str_replace setzen, solange sie sich nicht überschneiden klappt alles...

PHP:
<?php

...

$text = str_replace("x","x",$text);
$text = str_replace("x","x",$text);
$text = str_replace("x","x",$text);

...
?>
 
ok cool. :)

hab schon ein irc-kumpel gefragt aber er hat gemeint, es könnte sein dass was nicht funktioniert.
aber ich werds testen :)

MrNugget
 
hmm, ich hatte eben mal die zeit und habe es getestet...

so sieht es nun aus:
http://www.damnsite.net/smileyscript.html

Das ging nicht. Es ersetzt einfach nicht die Zeichen.
Dann habe ich das nur mit einem str_replace gemacht und es ging.
Komisch...
Kann mir einer Helfen?
Oder muss ich das script öfters wiederholen und jedes mal umändern?

MrNugget
 
-

Code:
<?php
$Datei = fopen("http://www.damnsite.net/nphp/news.txt", "r");
$Zeile = true;
while ($Zeile)
{
$Zeile = fgets($Datei);
$Zeile = str_replace(";)","<img src=\"smileys\zwinker.gif\">",$Zeile);
$Zeile = str_replace(":D","<img src=\"smileys\biggrins.gif\">",$Zeile);
$Zeile = str_replace(":)","<img src=\"smileys\grins.gif\">",$Zeile);
$Zeile = str_replace("=)","<img src=\"smileys\strichaugen.gif\">",$Zeile);
$Zeile = str_replace(":(","<img src=\"smileys\sick.gif\">",$Zeile);
$Zeile = str_replace(":O","<img src=\"smileys\wow.gif\">",$Zeile);
echo $Zeile;
}
fclose($Datei);
?>

Mach es mal so ;)
 
oder so:
PHP:
<?php
$datei = file("http://www.damnsite.net/nphp/news.txt");
foreach($datei as $row)
{
$row = str_replace(";)","<img src=\"smileys\zwinker.gif\">",$row);
$row = str_replace(":D","<img src=\"smileys\biggrins.gif\">",$row);
$row = str_replace(":)","<img src=\"smileys\grins.gif\">",$row);
$row = str_replace("=)","<img src=\"smileys\strichaugen.gif\">",$row);
$row = str_replace(":(","<img src=\"smileys\sick.gif\">",$row);
$row = str_replace(":O","<img src=\"smileys\wow.gif\">",$row);
echo $row;
}
?>

//edit
das in der 3. zeile ist eine öffnende geschweifte klammer. das forum nimmts wieder auseinander.
 
Zuletzt bearbeitet:
cool leute. danke für die schnelle antwort. :)
hab mir schon gedacht dass ihrs drauf hab :D

werds heute mittag mal testen, sag euch dann bescheid.

MrNugget
 
Zurück