Mit PHP Text im HTML Dokument ersetzen...
Mike
- php
Hi,
also angenommen ich habe 100 php Dateien. Jetzt habe ich in vielen diesen Seiten "mikeey" statt "mike" geschrieben. Das "mikeey" will ich nun mit PHP durch "mike" erstzen. Wie mache ich das? Geht das?
Noch was wichtiges. In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.
Ich weiss, es gibt andere Lösungen, aber es geht mir um das Prinzip, ich möchte wissen ob man sowas mit PHP lösen kann.
Kann mir jemand ein Beispielscode posten?
Danke
Ciao
hi,
also angenommen ich habe 100 php Dateien. Jetzt habe ich in vielen diesen Seiten "mikeey" statt "mike" geschrieben. Das "mikeey" will ich nun mit PHP durch "mike" erstzen. Wie mache ich das? Geht das?
Willst du den Inhalt der Dateien auf der Festplatte ändern (Einmalaktion), oder den Begriff im Scriptoutput ersetzen, bevor du diesen an den Client auslieferst (jedes Mal erneut)?
In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.
Definiere "Zugriff".
gruß,
wahsaga
hi,
ich möchte "den Begriff im Scriptoutput ersetzen, bevor du diesen an den Client auslieferst (jedes Mal erneut)".
In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.
Definiere "Zugriff".
Also ich meine damit nur, dass ja die "navi.php" überall includet wird, das heißt, wenn ich etwas in "navi.php" schreibe, taucht es ja überall auf. Das meinte ich nur.
Danke
echo $begrüßung;
ich möchte "den Begriff im Scriptoutput ersetzen, [...]
Also ich meine damit nur, dass ja die "navi.php" überall includet wird, das heißt, wenn ich etwas in "navi.php" schreibe, taucht es ja überall auf.
Vermutlich wird sie ziemlich am Anfang in deine Scripte eingebunden. Damit hast du nur die Möglichkeit, eine Shutdown-Funktion zu registrieren, die dann am Ende tätig wird. Dummerweise sind da aber schon alle Messen gelesen. Wie in der verlinkten Handbuchseite nachzulesen ist, nützt dir eine in der navi.php angestoßene Ausgabepufferung dann nichts mehr, weil die gepufferten Daten in der Shutdown-Funktion nicht mehr zur Verfügung stehen.
Du brauchst einen Start der Ausgabepufferung am Anfang und eine Bearbeitung dieses Ausgabepuffers am Ende jedes Scriptes.
P.S.[*] kurz vor Absenden fiel mir noch ein, dass es da auch noch die Konfigurationseinstellung auto_append_file gibt. Damit lässt sich vielleicht was machen. auto_prepend_file gibt es natürlich auch noch. Damit bist du dann sogar von der navi.php unabhängig, benötigst aber Zugriff auf mindestens eine PERDIR-Konfigurationsmöglichkeit, sprich: im Script kann man diese Werte nicht mehr verändern.
echo "$verabschiedung $name";
[*] Für alle "P.S.-Nörgler": P.S. steht hier für Pre Spedire :-)
Hallo,
sry ich verstehe 0 ^^. Das liegt daran, dass ich von PHP keine Ahnung habe bisher. Ich würde das aba gerne machen, was ich vorhabe. Ich dachte, das würde ein einfacher Script werden. Also zur Info, in meinen Dateien habe ich mehrere includes, auch ganz am Ende des Bodytags... Macht es die Sache einfacher?
Also ist ja nicht so, dass ich selber nicht gesucht hät. Ich habe preg_repace gefunden, aber das funktioniert ja nur mit Variablen. Ich würde aber gerne im ganzen Dokument suchen...
Naja, vllt kann das jemand für PHPDumme erklären bzw. den Bsp. Code posten... ^^
Dankeschön
Ciao
echo $begrüßung;
sry ich verstehe 0 ^^. Das liegt daran, dass ich von PHP keine Ahnung habe bisher.
Das kann man ändern, indem man sich das Wissen darüber aneignet.
Ich würde das aba gerne machen, was ich vorhabe. Ich dachte, das würde ein einfacher Script werden.
Das ist es auch. Du musst nur das Thema Output Control Functions verstehen.
Also zur Info, in meinen Dateien habe ich mehrere includes, auch ganz am Ende des Bodytags... Macht es die Sache einfacher?
Ja. Weil damit das Hantieren mit der Shutdown-Funktion und der auto_prepend_file-Konfiguration entfallen kann.
Also ist ja nicht so, dass ich selber nicht gesucht hät. Ich habe preg_repace gefunden, aber das funktioniert ja nur mit Variablen. Ich würde aber gerne im ganzen Dokument suchen...
Dazu musst du das Dokument in eine Variable bekommen. Dies geht, indem du die Ausgabe mit Hilfe der o.g. Ausgabepuffer-Funktionen abfängst. Ein generelles Anwendungsbeispiel gibt es auf der Handbuchseite zur Funktion ob_get_contents().
echo "$verabschiedung $name";
Hello,
P.S.[*] kurz vor Absenden fiel mir noch ein, dass es da auch noch die Konfigurationseinstellung auto_append_file gibt. Damit lässt sich vielleicht was machen. auto_prepend_file gibt es natürlich auch noch. Damit bist du dann sogar von der navi.php unabhängig, benötigst aber Zugriff auf mindestens eine PERDIR-Konfigurationsmöglichkeit, sprich: im Script kann man diese Werte nicht mehr verändern.
Wie das geht, hatte ich gerade kurz vor dem Jahreswechsel im Forum (1. April) beschrieben:
https://forum.selfhtml.org/?t=126727&m=817858
Was man vor dem Zurückschreiben (auch in die eigene Datei) nun nocht tut, muss man eben selber entscheiden. Ein str_replace() wird der OP sicherlich schon anwenden können.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
echo $begrüßung;
Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.
<?php
error_reporting(E_ALL);
ob_start();
register_shutdown_function('pagewrite');
function pagewrite() {
$text = '<b>' . ob_get_contents() . '</b>';
ob_end_clean();
echo $text;
}
echo phpversion();
?>
- noch etwas text außerhalb des PHP-Blocks
echo "$verabschiedung $name";
Hello,
Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.
Ich hatte es nur unter PHP 5.1.1 ausprobiert.
Unter 4.2.x und 4.3.2 funktioniert es aber auch.
In den UCN steht etwas dazu, wie man das Problem umgehen kann.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.
Ich hatte es nur unter PHP 5.1.1 ausprobiert.
Unter 4.2.x und 4.3.2 funktioniert es aber auch.In den UCN steht etwas dazu, wie man das Problem umgehen kann.
http://de.php.net/manual/en/function.register-shutdown-function.php
UCN von dweingart at pobox dot com
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi,
also die eig frage ist, wie kann ich str_replace auf das ganze html dokument anwenden ohne eine konkrete variable?
THX
Hallo Mike.
also die eig frage ist, wie kann ich str_replace auf das ganze html dokument anwenden ohne eine konkrete variable?
In dem du dir den Inhalt dieser Dokumente holst.
Einen schönen Sonntag noch.
Gruß, Ashura
In dem du dir den Inhalt dieser Dokumente holst.
Ist gar nicht mal so einfach auf Englisch ^^... Kannst du mir bitte vielleicht ein Beispiel posten? Am Beispiel erkenne ich es am besten. Vor allem, weiss ich nicht, diese beiden Sachen zu kompbinieren (weil ich ja kein PHP kann...).
Hallo,
Ist gar nicht mal so einfach auf Englisch ^^...
http://de2.php.net/manual/de/function.file-get-contents.php bitte.
Grüße
Jeena Paradies
Ist gar nicht mal so einfach auf Englisch ^^...
http://de2.php.net/manual/de/function.file-get-contents.php bitte.
Verstanden habe ich nicht,wie das ganze anweden soll, aber wenigstens etwas davon... bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...
Hallo Mike.
bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...
Dann übergibst du eben jedes Mal eine Variable an file_get_contents, welche den jeweiligen Dateinamen enthält.
Zusätzlich solltest du dich unbedingt mit den Grundlagen von PHP befassen.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo Mike.
bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...
Dann übergibst du eben jedes Mal eine Variable an file_get_contents, welche den jeweiligen Dateinamen enthält.
Zusätzlich solltest du dich unbedingt mit den Grundlagen von PHP befassen.
egal, ich gebs auf... das würde ja au nicht gehen, weil ich ja den "ersetzpart" immer include... ach egal, is jetzt zu hoch für mich.