WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- str_replace funktioniert nur auf dem Webserver, nicht auf

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » str_replace funktioniert nur auf dem Webserver, nicht auf - 03 Dez 2024 Antworten
im Forum für Webhosting Homepage gefunden:
str_replace funktioniert nur auf dem Webserver, nicht auf
phpnoob
Pixelschubser
Threadstarter




Beiträge: 7

Hallo zusammen, ich programmiere gerade an einem eigenen Gästebuch-Skript, soweit funktioniert ja auch alles, nur beim ersetzen der Badwords mit str_replace gibt's auf meinem lokalen Rechner probleme, auf dem Webserver funktioniert alles prima.

Was auch komisch ist, es wird keine Fehlermeldung angezeigt, obwohl ich diese in der php.ini aktiviert habe, er ersetzt die Badwords einfach nicht. :(

Naja, vielleicht kommt einer von euch auf die Lösung des Problems, hier auf jeden Fall mal der Code:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17:
$zensur = "******";

function badword( $message, $set_path, $zensur )
		{
			$file = $set_path . "badword.dat";
			if( is_file( $file ) )
				{
					$fsize = ( filesize( $file ) + 1 );
					$fp = fopen( $file, "r" );
					$file_cont = fread( $fp, $fsize );
					$words = explode( "\n", $file_cont );
					fclose( $fp );
				}
			$message = str_replace( $words, "$zensur", $message) ;
			
			return $message;
		}


Was vielleicht etwas zu sagen hat ist, auf meinem Webserver läuft PHP in Version 4.2.1, zuhause habe ich Version 4.3.1. Kann es sein, das str_replace in dieser Art in der neueren Version nicht mehr funktioniert? *hhhhhmmmmm*

Naja, ich hoffe mal einer von Euch weiß was!

Danke schon mal!

Ciao
phpnoob

Diese Nachricht wurde geändert von: phpnoob
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

also an str_replace() wirds nciht liegen. Wenn überhaupt an den file-Funktionen. Guck mal auf www.php.net nach, wie die sich in welcher Version verhalten.

  Profil   Editieren   Zitieren
phpnoob
Pixelschubser
Threadstarter




Beiträge: 7

@ languitar

Also an file() usw. kann's eigentlich auch nicht liegen, denn ich benutze folgenden Code in einem Bilder-Galerie-Skript von mir, um dort den jeweiligen Text zum Bild auszulesen und dort funktioniert es ja auch online und offline wunderbar. :-?

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
if( is_file( $file ) )
				{
					$fsize = ( filesize( $file ) + 1 );
					$fp = fopen( $file, "r" );
					$file_cont = fread( $fp, $fsize );
					$txt = explode( "||||||", $file_cont );
					fclose( $fp );
				}


Die einzigen Unterschiede der beiden Codes sind folgende:
1. Der Code im GB wird in einer "Funktion" aufgerufen, der in der Gallery nicht.
2. im GB benutze ich "\n" und in der Gallery "||||||" bei "explode()".

Am "\n" bzw. "||||||" kann's allerdings nicht liegen, dass hab ich schon ausprobiert.

Auf php.net hab ich mich in der Function-List auch mal umgesehen, konnte aber nirgendwo erkennen das was mit meinem Code nicht stimmt!
Sollte EIGENTLICH so funktionieren. :|

Ich hoffe mal auf weitere Hilfe!

Ciao
phpnoob

Diese Nachricht wurde geändert von: phpnoob
  Profil   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

str_replace is nix für arrays.

1:
$output = ststr($input,$array);


---
Arbeit ist das Feuer der Gestaltung. - Marx

Diese Nachricht wurde geändert von: Philipp Gérard
  Profil   E-Mail   Website   Editieren   Zitieren
phpnoob
Pixelschubser
Threadstarter




Beiträge: 7

@ Philipp Gérard

str_replace is nix für arrays.


Sorry, das ich dich da revidieren muß.
Ich hab's jetzt hinbekommen, auch mit dem array.

@ alle die es interessiert

Also, wie gerade schon gesagt, ich hab's hinbekommen.
Es lag doch an dem "\n" bei explode().
Ich hab das "\n" jetzt durch ein "#" ersetzt und hab die Datei badword.dat danach angepasst und siehe da, es funktioniert! :p

Ich hab zwar keine Ahnung warum es beim ersten mal nich geklappt hat, aber naja.

Das mit dem "\n" liegt aber wohl an meinem Rechner zuhause, auf dem Apache unter Windoof läuft und mein Server benutzt Linux als OS. Irgendwie scheint Windoof in dieser Konstellation mit dem "\n" nicht klar zu kommen. :/
Windoof halt! *grrrrr*

So, das wär's, Problem gelöst. Vielen dank für Eure Hilfe!

Gruß
phpnoob

  Profil   Editieren   Zitieren
Andreas S
Otto-Normal-Poster




Beiträge: 81

Hallo,
du musst unter Windows \r\n statt \n nehmen (geht dann auch aufm Server selbst).

  Profil   Editieren   Zitieren
phpnoob
Pixelschubser
Threadstarter




Beiträge: 7

@ Andreas S

Vielen Dank, werd ich so bald wie möglich probieren.

Wäre nämlich schon klasse wenn's mit "\n" bzw. "\r\n" funktionieren würde, dann sieht die Datei badword.dat nicht aus wie Kraut und Rüben!

Wenn ich's probiert hab, werde ich berichten.

Gruß
phpnoob

  Profil   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

Seit PHP 4.0.5 kann jeder Parameter von str_replace() auch ein Array sein.


Lesen müsst man können . Das kommt davon, dass man seit 3 rumspielt... *g*

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Macht \r\n unter Unix dann keine Probleme? Dachte ich hätt' das mal erlebt, kann mich aber auch irren.

Philipp Gérard schrieb am 11.12.2003 18:11
Seit PHP 4.0.5 kann jeder Parameter von str_replace() auch ein Array sein.


Lesen müsst man können . Das kommt davon, dass man seit 3 rumspielt... *g*


CS-Kiddy!!!

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

Ich meinte PHP3 du Analphabet!

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

PHP ist nicht zum Spielen da :P

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
phpnoob
Pixelschubser
Threadstarter




Beiträge: 7

Hallo miteinander,

also, ich hab's jetzt noch mal mit "\r\n" probiert und bin zu folgendem Ergebnis gekommen:

Unter Windoof funktioniert "\r\n" wunderbar, Linux auf dem Webserver hat damit allerdings so seine Problemchen und ersetzt die Badwords dann einfach nicht. :/

Naja, egal wenigstens kann ich heute Nacht wieder gut schlafen, da das Problem jetzt behoben ist. Wenn ich das Skript offline benutze werd ich's halt mit "\r\n" tun, auf dem Server wird halt auf "\n" umgestellt.

Vielen Dank noch mal allen Beteiligten, vor allem @ Andreas S für den tollen Tipp!

Gruß
phpnoob

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » str_replace funktioniert nur auf dem Webserver, nicht auf

Aktuelle Beiträge zur Hilfe im Forum für Homepage - str_replace funktioniert nur auf dem Webserver, nicht auf im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8133124    Heute : 469     Gestern : 478     Online : 84     3.12.2024    18:52      0 Besucher in den letzten 60 Sekunden        
Nach oben