Wie schon öfter gezeigt, verwende mal trim auf den String!
Variable ist da, aber läßt sich nicht verarbeiten - hmm????
Einklappen
X
-
Diese Zeile erzeugt also den Wert "maus".
in $x steht danach "maus\r\n"
Kommentar
-
Kommentar
-
Original geschrieben von PHP-Desaster
Verwende mal statt echo $var; ein var_dump. Dann siehst du auch leere Zeichen (bzw. die Zeichenkettenlänge ist größer als die Anzahl sichtbarer Zeichen).Zuletzt geändert von janein; 07.12.2007, 13:44.
Kommentar
-
PHP-Code:<?php
ob_start(); ?>
europa-tiere
<?php
$t = ob_get_contents();
ob_end_clean();
$string = $t;
$x = str_replace("europa-tiere","maus",$string);
$t=$x;
$t = str_replace("maus","test",$t);
echo $t ;
?>
Immer nur heulen: "tuts nicht tuts nicht..." aber nicht sagen, was es nicht tut... Grrrr...
Kommentar
-
Original geschrieben von combie
Wenn du nicht sofort ..., werde ich dir niemals mehr helfen!! ...
PHP-Code:<?php
$x = str_replace("europa-tiere","maus",$string);
....
ob_start(); ?>
europa-tiere
<?php
$t = ob_get_contents();
ob_end_clean();
$t = substr($t,0,-2);
echo $t ;
?>
$t zeigt mit substr($t,0,-2) europa-tie, was heißt, dass die $t noch nicht "maus" ist obwohl echo $t maus zeigt. Die Frage ist jetzt, wie schaffe ich es, dass europa-tiere maus wird bevor es an $t übergeben wird? Ich dachte das erreiche ich mit ob_start(), scheint jedoch nicht der Fall zu sein.Zuletzt geändert von janein; 07.12.2007, 14:02.
Kommentar
-
Nein!!
echo $t; zeigt bei mir europa-tiere !!!!!
Ausserdem, hast du das mit dem "testbarem Code" immer noch nicht begriffen!!!Parse error: syntax error, unexpected '.' in H:\Programme\xampp\htdocs\fragmente\R0675787.php on line 3
Kommentar
-
Die Frage ist jetzt, wie schaffe ich es, dass europa-tiere maus wird bevor es an $t übergeben wird?
...was heißt, dass die $t noch nicht "maus" ist obwohl echo $t maus zeigt
Also ich persönlich würde die Ersetzung machen nachdem ich den Wert aus dem Buffer ausgelesen habe. Vorher macht echt keinen Sinn...Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
ich glaube ich habe das gleiche, bzw ein ähnliches problem.. ich hoffe mal ich bekomme es hin das verständlich zu erklären... also..
ich lese mit ob_get_clean() die ausgabe vom puffer in die variable $out ein.. diese kann ich dann mit echo ausgeben, sowie auch mit preg_replace weiterverarbeiten.. klappt alles wie es soll
PHP-Code:
ob_start();
echo "ausgabe";
$out = ob_get_clean();
echo $out;
$suche = "/a/";
$ersetze = "ersatz";
$text = preg_replace($suche, $ersetze, $out);
echo $text;
jetzt das Problem: statt "ausgabe" auszugeben, gebe ich einen html code vom cms joomla aus, der html aus der datenbank holt. ich habe also folgenden php code:
PHP-Code:
ob_start();
echo "<jdoc:include type=\"modules\" name=\"breadcrumb\" />";
$out = ob_get_clean();
echo $out;
$suche = "/a/";
$ersetze = "ersatz";
$text = preg_replace($suche, $ersetze, $out);
echo $text;
rufe ich das script nun auf, wird die variable $out auch per echo ausgegeben .
(die ausgabe sieht wie folgt aus):
<span class="breadcrumbs pathway">
<a href="http://www.google.de" class="pathway">Home</a> <img src="/images/arrow.png" alt="" /> seite2</span>
ABER: ich kann die variable nicht weiterverarbeiten!! mit preg_replace und anschießendem echo $text wird nichts ausgeben, als würde $out nicht existieren..
sehr merkwürdig, ist ja schließlich bis auf Zeile 2 der selbe Code jeweils..
Leider ist das Beispiel für Leute ohne Joomla nicht reproduzierbar, deswegen ein Sprry schonmal vorab, vielleicht hat ja trotzdem jemand eine Idee woran es liegen könnte..Zuletzt geändert von kanzy; 09.03.2008, 18:36.
Kommentar
Kommentar