Strings ersetzen und Blätterfunktion

FipsTheThief

Erfahrenes Mitglied
beide Funktionen hab ich bereits einzeln zusammen geschraubt. Nun hab ich ein Problem das bei mir aufkommt.

Ich habe 2 unterschiedliche Funktionen einmal Blättern und einmal die Strings (Smilies , Schilder) ersetzen. Beides einzeln arbeitet recht gut und zu meiner Zufriedenheit. Nur ich hab irgendwie ein Brett vor dem Kopf so das ich wenn ich die Blätterfunktion habe keine Strings ersetzen kann und umgekehrt.
Quasi möchte ich die Funktion smilies_ersetzen() vor der Ausgabe aufrufen.

Ein normales

$eintraege = str_replace(":text:" , "ersatztext" , $eintraege);
echo $eintraege[$i];

macht er auch

aber so bald ich die Funktion davor aufrufe will er wieder nicht so recht.

hier mal die 2 Funktionen :

PHP:
     function smilies_ersetzen($eintraege){
     
     	$smilienamen = array(); // Array für die Smilienamen
     	$schildnamen = array(); // Array für die Schildnamen
     	$smiliefile = array();  // Array für die eigentliche Datei der Smilies
     	$schildfile = array();  // Array für die eigentliche Datei der Schilder
     	$i = 0;
     	
     	$ordner_open = opendir("smilies");
     	while ($file = readdir($ordner_open))
     	 {
     		 if($file != "." && $file != "..")
     		  {
     			$file = explode("." , $file);
     			array_push($smilienamen , $file[0]);
     			$filename = join("." ,$file);
     			array_push($smiliefile , $filename);
     	  }
     	}
     
     	$ordner_open=opendir("schilder");
     	while ($file = readdir($ordner_open))
     	{
     		 if($file != "." && $file != "..")
     		 {
     			$i++;
     			$file = explode("." , $file);
     			array_push($schildnamen , $file[0]);
     			$filename = join("." ,$file);
     			array_push($schildfile , $filename);
     		 }
     	}
     
     	for($i = 0 ; $i < count($smilienamen); $i++)
     	{
 	 $eintraege = str_replace(":".$smilienamen[$i].":" , "<img src='smilies/".$smiliefile[$i]."'>" , $eintraege);
     	}
     
     	for($i = 0 ; $i < count($schildnamen); $i++)
     	{
 	 $eintraege = str_replace(":".$schildnamen[$i].":" , "<img src='schilder/".$schildfile[$i]."'>" , $eintraege);
     	}
        return $eintraege;
     // ...

und die Blätterfunktion innerhalb der allgemeinen Ausgabe
PHP:
     function ausgabe()
     {
     	/**
     	Section Ausgabe der Einträge
     	Rückgabewert ist die eingelesene Textdatei
     	**/
     
     	$x = 1; // Laufzeitvariable für die Blätterfunktion die die Anzahl der Ausgaben mitzählt
     	$datei = "gb.txt";
     	$eintraege = "";
     	$alle_eintraege = "";
     
     	$file = fopen($datei,"r");
     	while(!feof($file)){
     	   $eintraege .= fgets($file,255);
     	   }
     
     	   $eintraege = explode("|##|", $eintraege);
 		 
     		 /**
     		 Section Blättern
     		 */
     		 $letzte_seite = count($eintraege)/10;
     		 
     		 if(isset($_GET["seite"]) && isset($_GET["id"]))
     		 {
 			for($i = $_GET["id"]+1 ; $i < count($eintraege); $i++ )
     			{
     			  if($x%10 != 0)
     			  {
     				 echo $eintraege[$i];
  				 if($i == count($eintraege)-1)
     				 {
     				   
 				 echo "<a href='http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"]).
 				 "/index.php?seite=".($_GET["seite"]-1)."&id=".($_GET["id"]-10).
 				 "' style='float:left; margin-left:0px;'>Seite ".($_GET["seite"]-1)."</a>";
     				 }
     				 $x++;
     			  }
     			  else
     			  {
     				echo $eintraege[$i];
 			 echo "<a href='http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"]).
 			 "/index.php?seite=".($_GET["seite"]+1)."&id=".$i."' style='float:right; margin-right:20px;'>Seite ".($_GET["seite"]+1)."</a>";
     				if($_GET["seite"] != 1)
     				{
 				 echo "<a href='http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"]).
 				 "/index.php?seite=".($_GET["seite"]-1)."&id=".($_GET["id"]-10).
 				 "' style='float:left; margin-left:0px;'>Seite ".($_GET["seite"]-1)."</a>";
     				}
     				break;
     			  }
     			}
     		 }
     		 else
     		 {
     		   for($i = 0 ; $i < count($eintraege) ; $i++)
     		   {
     			if(($x%10) != 0){
 				// Hier soll der Ersatz mit kommen 
     			 smilies_ersetzen($eintraege[$i]);
  			 echo $eintraege[$i];
     				$x++;
     			 }
     			 else
     			 {
     				echo $eintraege[$i];
 			 echo "<a href='http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"]).
 			 "/index.php?seite=2&id=".$i."' style='float:right; margin-right:20px;'>Seite 2</a>";
     				break;
     			 }
     		   }
     		 } // Blättern Ende
     } // Ausgabe Ende

Irgendwie bekomm ich diese 2 Sachen nicht zusammen , wenn da jemand Rat wüsste wäre super ich glaube fast das ich da an was furchtbar einfachen scheitere.
 
Zuletzt bearbeitet:
Habs rausgefunden :

Wenn jemand mal das gleiche Problem haben sollte , man sollte natürlich auch den aktuellen Eintrag an die Funktion senden und nicht einfach das komplette Array ;(

PHP:
 smilies_ersetzen($eintraege[$i]);

Das war mein Fehler.
 
Zurück