preg_match_all kleines Problem
Werner
- php
hallo Leute,
scheinbar stehe ich auf dem Schlauch
Ich möchte den Text zwischen <HTML> und <BODY> in $site auslesen.
Bekomme aber als Fehlermeldung Array zurück
if (preg_match_all("/<HTML>([^<BODY>]*)/", $site, $out))
{$suche=$out[1];
echo$suche;
exit;
}
Wo liegt mein Gedankenfehler ?
Danke für Eure Hilfe
Werner
hi,
Ich möchte den Text zwischen <HTML> und <BODY> in $site auslesen.
Bekomme aber als Fehlermeldung Array zurück
Wieso Fehlermeldung?
if (preg_match_all("/<HTML>([^<BODY>]*)/", $site, $out))
{$suche=$out[1];
echo$suche;Wo liegt mein Gedankenfehler ?
Du denkst, es sei ein "Fehler", ein Array zu erhalten.
Der Fehler ist lediglich, ein Array mittels echo direkt ausgeben zu wollen. Das geht nun mal nicht sinnvoll, also kommt nur Array als Schlüsselwort.
Schau's dir mit print_r oder var_dump an, danach weisst du mehr.
gruß,
wahsaga
hi,
Ich möchte den Text zwischen <HTML> und <BODY> in $site auslesen.
Bekomme aber als Fehlermeldung Array zurückWieso Fehlermeldung?
if (preg_match_all("/<HTML>([^<BODY>]*)/", $site, $out))
{$suche=$out[1];
echo$suche;Wo liegt mein Gedankenfehler ?
Du denkst, es sei ein "Fehler", ein Array zu erhalten.
Der Fehler ist lediglich, ein Array mittels echo direkt ausgeben zu wollen. Das geht nun mal nicht sinnvoll, also kommt nur Array als Schlüsselwort.Schau's dir mit print_r oder var_dump an, danach weisst du mehr.
gruß,
wahsaga
Ich stehe scheinbar wirklich auf dem Schlauch
ich benötige den Inhalt zwischen <HTML> und <BODY> in einem String um diesen dann mit str_ireplace ersetzen zu können.
Ich komme einfach nicht drauf
Gruß
Werner
echo $begrüßung;
ich benötige den Inhalt zwischen <HTML> und <BODY> in einem String um diesen dann mit str_ireplace ersetzen zu können.
Nein, du benötigst nicht den Inhalt sondern nur die Position der Zeichenketten <HTML> und <BODY>, um dann den Teil davor mit dem einzufügenden Teil und dem Teil danach zu einem neuen String zu verknüpfen.
echo "$verabschiedung $name";
gudn tach!
Ich möchte den Text zwischen <HTML> und <BODY> in $site auslesen.
preg_match("/<HTML>(.*)<BODY>/s", $site, $out)
beachte den s-modifier. (siehe php-manual)
Wo liegt mein Gedankenfehler ?
[] beschreibt zeichenklassen. [^<BODY>] ist also ein element aus der menge (fast) aller zeichen ohne '<', '>', 'B', 'D', 'O', 'Y'.
eine ganz andere moeglichkeit waere es, die positionen von "<HTML>" und "<BODY>" direkt zu verwenden, und dann per substr den kram rauszuschneiden. du kaemst dann sogar ohne regexp aus.
prost
seth