Computerhilfen.de Logo
Forum
Tipps
News

Webseite auslesen: PHP und Regular Expressions

Hallo Leute,
bin absoluter PHP Anfänger und ich möchte gerne das hier ausprobieren:

https://www.computerhilfen.de/info/webseite-auslesen-php-und-regular-expressions.html


Ich habe xampp 7.2.10 und den PHPEditor 2.2 (http://www.phpeditor.kit.net/) bei mir installiert.
Über das xampp control panel sind Apache und MySQL gestartet.

Diesen Code:

<?php
$woher = "https://www.computerhilfen.de/start.php";
$data = implode("", file($woher));
if (preg_match("/<title>(.*)<\/title>/i", $data,
   $title)) { $titelzeile = $title[1]; }

echo $titelzeile;

?>

habe ich in "C:\xampp\htdocs\Parsen1.php" abgespeichert.

Wenn ich nun in meinem Chrome Browser diese Seite aufrufe:
http://127.0.0.1/Parsen1.php

bekomme ich folgende Fehlermeldung:

Warning: file(https://www.computerhilfen.de/start.php): failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\xampp\htdocs\Parsen1.php on line 3

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Parsen1.php on line 3


Warum funktioniert das nicht?
Der Code scheint sehr einfach zu sein, aber etwas ist immer noch falsch.
Wer kann mir helfen?

Danke


Antworten zu Webseite auslesen: PHP und Regular Expressions:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

kann ich gerade nicht testen, aber versuch mal bitte das:

$woher = file_get_contents('http://www.computerhilfen.de/');

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi nico,

dieser code funktioniert leider auch nicht:

<?php
$woher = file_get_contents('http://www.computerhilfen.de/');
$data = implode("", file($woher));
if (preg_match("/<title>(.*)<\/title>/i", $data,
   $title)) { $titelzeile = $title[1]; }

echo $titelzeile;

?>


Fehlermeldung:
Warning: file_get_contents(http://www.computerhilfen.de/): failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\xampp\htdocs\Parsen1.php on line 2

Fatal error: Maximum execution time of 45 seconds exceeded in C:\xampp\htdocs\Parsen1.php on line 2

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
https://localhost  funktioniert!

Ich bekomme zwar die obligatorische rote Chrome Warnung: "Your connection is not private" aber es geht.

Die Seite: "XAMPP Apache + MariaDB + PHP + Perl" geht auf.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Seltsam,
also das Einlesen klappt bei mir (MAMP). Teste mal mit:

echo $woher;

statt

echo $titelzeile;

am Ende, bei mir wird dann die ganze eingelesene Seite angezeigt. Im Test war bei mir aber $data leer, also das "implode" scheint nicht zu funktionieren.

Dieser Code zeigt aber auch den RegExp richtig an:

$woher = file_get_contents('http://www.computerhilfen.de/');
if (preg_match("/<title>(.*)<\/title>/i", $woher, $title)) { $titelzeile = $title[1]; }

echo $titelzeile;
https://stackoverflow.com/questions/5164930/fatal-error-maximum-execution-time-of-30-seconds-exceeded

Du hast einen Fehler in deinem PHP-Code oder time limit ist zu gering. Wird PHP ueberhaupt geparst?

mach doch mal ne info.php Datei mit dem Inhalt unten und oeffne dann im browser localhost/info.php

 <?php

// Zeigt alle Informationen (Standardwert ist INFO_ALL)
phpinfo();

// Zeigt nur die Modul-Informationen.
// phpinfo(8) führt zum gleichen Ergebnis.
phpinfo(INFO_MODULES);

?>


Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

danke, es funktioniert jetzt :-)

was genau war jetzt  [???]

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

"file_get_contents"  ;)


« Frage Kontaktformularreturn false einmal ausgeben »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!