Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] str_replace funktioniert nach neuer Xampp Installation nicht mehr!
Einklappen
Neue Werbung 2019
Einklappen
X
-
Ich schliess den Thread wenn du keine Hilfe annimmst. Nochmal verweise ich nicht auf Debuggen mit var_dump().
-
Hallo
Ich habe Heute Morgen nochmals extra getestet.
Also es liegt tatsächlich an der php Version.
php4 gehts
und
php5 gehts nicht.
Aber warum ist die Frage?
Einen Kommentar schreiben:
-
Zitat von stallone Beitrag anzeigenregister_globals ist auf On gestellt.
Die Variablen funktionieren, da ich fast nur mit Variablen arbeite.
Oben Abschnitt 7, habe ich geschrieben das str_replace beim ersten Beispiel funktioniert es ja auch.
Und poste hier mal den kompletten Code des Beispiels welches bei dir nicht funktioniert. Wahrscheinlich kommt wirklich einfach der zu ersetzende Text so nicht in $tag vor.
Woher kommt dessen Inhalt? Über GET/POST? Wie ist magic_quotes_gpc eingestellt? (Das ist jetzt wieder nur geraten )
Einen Kommentar schreiben:
-
register_globals ist auf On gestellt.
Die Variablen funktionieren, da ich fast nur mit Variablen arbeite.
Oben Abschnitt 7, habe ich geschrieben das str_replace beim ersten Beispiel funktioniert es ja auch.
Einen Kommentar schreiben:
-
Meines Wissens gab es keine signifikante Aenderung von str_replace() in PHP 5 und str_replace() funktioniert bei mir auch versions-unabhaengig genau wie erwartet.
Haeufig klappen Skripte nach der Umstellung von PHP 4 auf PHP 5 nicht mehr, weil die Einstellung des Flag "register_globals" auf "off" gestellt ist. Wenn Variablen unerwartet keine Inhalte mehr haben ist vermutlich genau das der Fall. Mach dich dazu bitte in alten Beitraegen oder der Google/Forensuche schlau.
Lass dir vorher aber mal mit var_dump() die Variable $tag ausgeben, der zu ersetzende String kommt darin nicht vor. Ueberpruef es notfalls Zeichen fuer Zeichen und lass dir alle beteiligten Variablen mit var_dump() ausgeben.
Einen Kommentar schreiben:
-
Vorher war php4 installiert und es funktionierte.
Jetzt ist php5 installiert und nur das erste Beispiel geht.
Einen Kommentar schreiben:
-
hallo
habe folgendes festgestellt:
das funktioniert:
$tag = str_replae("dada", "", $tag);
das funktioniert nicht:
$tag = str_replace("<FONT style=\"FONT-SIZE: 11px; FONT-FAMILY: verdana\">", "", $tag);
Beim ersten Beispiel nimmt er mir "dada" weg und ersetzt es mit "".
Beim zweitten Beispiel macht er mir nichts.
Warum das wohl?
Einen Kommentar schreiben:
-
Hallo Stallone,
bitte verwende mal ein vollständiges Beispielskript.
Was gibt dir z.B: das Beispiel zu str_replace aus dem Manual aus:
PHP-Code:<?php
// Liefert: <body text='schwarz'>
$bodytag = str_replace("%body%", "schwarz", "<body text='%body%'>");
// Liefert: Hll PHP-Wlt
$vokale = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vokale, "", "Hallo PHP-Welt");
// Liefert: Sie sollten taeglich Pizza, Bier und Eiscreme essen.
$phrase = "Sie sollten taeglich Fruechte, Gemuese und Ballaststoffe essen.";
$gesund = array("Fruechte", "Gemuese", "Ballaststoffe");
$lecker = array("Pizza", "Bier", "Eiscreme");
$newphrase = str_replace($gesund, $lecker, $phrase);
// Die Verwendung des count-Parameters ist ab PHP 5.0.0 möglich
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
// Reihenfolge von Ersetzungen
$str = "Zeile 1\nZeile 2\rZeile 3\r\nZeile 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Verarbeitet \r\n's zuerst, so dass sie nicht doppelt konvertiert werden
$newstr = str_replace($order, $replace, $str);
// Ausgabe: apearpearle pear
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
Oder ein einfaches:
PHP-Code:<?php
$text = "Hallo du";
echo str_replace("du", "sie", $text);
Nur um mal sicherzustellen, dass der Fehler nirgendwo anders liegt...
Einen Kommentar schreiben:
-
Hallo Manko
Ich habe die Variable $1 nur als Beispiel genommen.
Ich könnte dir auch folgendes hinschreiben:
$text=str_replace("Braun","",$text);
Fakt ist es wie am Anfang beschrieben, dass die Funktion str_replace weder eine Fehlermeldung ausgibt und meinerseits auch nichts geändert wurde aussert Xampp neu installiert.
Vielleicht hast du ja trotzdem eine Lösung oder dies wie angesprochen mit den Globals.
Danke dir.
Einen Kommentar schreiben:
-
Woher kommt die Variable $1?
Das erste Zeichen des Variablennamens muss immer ein Buchstabe oder ein unterstrich _ sein.
Im Übrigen sieht mir das stark nach eine Nachprogrammierung der Funktion addslashes() aus.
Einen Kommentar schreiben:
-
Hallo
Besten Dank für dein schnelles eingreiffen.
Wie erwähnt ist es eine Funktion die bis vor paar Tage vor der Formatierung funktioniert hat. str_replace ersetzt einfach Zeichen in einem Text.
$1=str_replace("'","\'",$1);Es kommt keine Fehlermeldung. Gar nichts passiert und die Seite geht weiter aber ohne diesen Befehl ausgeführt zu haben.
Ich glaube das an der neuen Xampp Version eine Einstellung notwendig ist.
Du sagtest etwas von Globals. Was soll ich kontrollieren?
Danke im Voraus für deine Bemühungen.
Einen Kommentar schreiben:
-
Hallo stallone,
"funktoiniert nicht" ist keine Beschreibung mit der irgendjemand irgendwas anfangen kann.
Was funktioniert nicht? Was erwartest du, was passiert? Wie sieht der Code aus?
Hast du getestet ob der "Fehler" nur bei str_replace() auftritt?
Wetten wir um 100€ dass es nicht an str_replace liegt? Mein Tipp: es ist ein register_globals-Problem...
Einen Kommentar schreiben:
Einen Kommentar schreiben: