replace function will nicht?

PHPlehrling

Mitglied
er ersetzt mir die smilies einfach nicht.
PHP:
function replace($inhalt) {
   $inhalt =  str_replace("\r ", "<br>", $inhalt);
   $inhalt =  str_replace(":-)", "<img src="./images/smilies/smile.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":)", "<img src="./images/smilies/smile.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(";-)", "<img src="./images/smilies/zwinker.gif" border="0"

alt="" title="">", $inhalt);
   $inhalt =  str_replace(";)", "<img src="./images/smilies/zwinker.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":-(", "<img src="./images/smilies/traurig.gif" border="0"

alt="" title="">", $inhalt);
   $inhalt =  str_replace(":(", "<img src="./images/smilies/traurig.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":-D", "<img src="./images/smilies/d.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":D", "<img src="./images/smilies/d.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace("(H)", "<img src="./images/smilies/cool.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace("(h)", "<img src="./images/smilies/cool.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":-O", "<img src="./images/smilies/o.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":O", "<img src="./images/smilies/o.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":P", "<img src="./images/smilies/p.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":p", "<img src="./images/smilies/p.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":S", "<img src="./images/smilies/s.gif" border="0" alt=""

title="">", $inhalt);
   $inhalt =  str_replace(":s", "<img src="./images/smilies/s.gif" border="0" alt=""

title="">", $inhalt);

return $inhalt;
}
 
PHP:
<?php
$inhalt =  str_replace("<img src=\"images/smilies/biggrin.gif\" border=\"0\" alt=\"\">", "<img src=\"./images/smilies/smile.gif\" border=\"0\" alt=\"\" title=\"\">", $inhalt);
?>

das machst du jetzt bei jedem und dann klappt's auch mit dem ersetzen.
 
habs nun so. bringt aber auch nichts

PHP:
<?php
function replace($inhalt) {
   $inhalt =  str_replace("\r ", "<br>", $inhalt);
$inhalt =  str_replace(":)", "<img src=\"./images/smilies/biggrin.gif\" border=\"0\" alt=\"\" title=\"\">", $inhalt);

return $inhalt;
}
?>
 
man beachte die \ im ersten String!
schau mal einen Post obendrueber da wirst du finden, dass auch bei dem String der ersetzt werden soll die \ dastehen muessen.
ausserdem muss es "\\r" (so isses bei C jedenfalls :) ) heisen.
dem W3C Standard zufolge auch "<br />"

PHP:
<?php
function replace($inhalt) {
	$inhalt =  str_replace("\\r ", "<br />", $inhalt);
	$inhalt =  str_replace("<img src=\"images/smilies/smile.gif\" border=\"0\" alt=\"\">", "<img src=\"./images/smilies/biggrin.gif\" border=\"0\" alt=\"\" title=\"\">", $inhalt);

	return $inhalt;
}
?>
 
weiß jetzt woran es liegt aber nicht wie ich es beheben kann.

die function liegt in der datei smilies.php
in einer anderen datei wird am anfange smilies.php requiret aber erst später die Variable $inhalt definiert. das würde ja heißen, dass $inhalt noch gar nicht bekannt ist. Wie kann ich dass den lösen?
 
die function liegt in der datei smilies.php
in einer anderen datei wird am anfange smilies.php requiret aber erst später die Variable $inhalt definiert. das würde ja heißen, dass $inhalt noch gar nicht bekannt ist. Wie kann ich dass den lösen?

??????

indem man die function aufruft wenn der inhalt bekannt ist

????? oder verstehe ich was falsch :-(
 
wie waers mal mit "Funktion aufrufen wenn Variable bekannt ist".

Hat uebrigens der gute melmager schon gesagt! :)
Warten bis die Variable bekannt ist und dann die Funktion aufrufen:

PHP:
<?php

require("smilies.php");

// .....

$inhalt = $_GET['irgendwas'];
replace($inhalt);

// ......

?>
 
Zurück