php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.05.2005, 13:25  
Gast
 
Beiträge: n/a
Standard Hilfe: Auslesen von Seite

Hallo Ihr,

ich bräuchte eure Hilfe!

Folgende Situation:
Auf einer Seite stehen 10 Links, der Quellcode dazu schaut folgender maßen aus:

linktext 1

linktext 2

linktext 3
...

jetzt möchte ich, alle Linktexte auslesen und untereinander anordnen, wie mach ich das?

Grüße Laura
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.05.2005, 13:42  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

file_get_contents() zum auslesen,
perg_match_all() zum extrahieren der linktexte,
echo zum ausgeben.
__________________
derHund ist offline  
Alt 14.05.2005, 13:46  
Gast
 
Beiträge: n/a
Standard

Zitat:
perg_match_all() zum extrahieren der linktexte

Das habe ich schon ausprobiert, komme da aber leider nicht weiter?!

GW zum 1000 Post
 
Alt 14.05.2005, 13:49  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Wie immer gilt:

Zeig, was Du probiert hast. (Relevanten Code posten)
Sag, was dabei rausgekommen ist.

Hier sind PHP-Fans am Werk, keine Hellseher.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 14.05.2005, 15:02  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
$link
file_get_contents ('http://www.linkseite.de');
preg_match_all("???(.*)??????"$link$treffer);

for (
$i=0$icount($treffer[0]); $i++) {
  echo 
"gefunden: " $treffer[0][$i] . "\n";
}
?>
Ich versteh nicht, was genau der Suchstring von preg_match_all heißen muss...
 
Alt 14.05.2005, 15:09  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

http://de3.php.net/manual/de/function.preg-match.php

Nur mal so ein erster Versuch:
PHP-Code:
<?
$Suchstring 
"/<a href=\"(.+)\">(.+)<\/a>/"
preg_match_all($Suchstring$link$treffer); 
?>
Lass Dir danach mal $treffer mit print_r ausgeben.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 14.05.2005, 17:04  
Gast
 
Beiträge: n/a
Standard

Super, klappt schon fast perfekt bis auf 2 Probleme, die mich noch plagen:

1.) Es wird der komplette Link bei der Ausgabe angezeit, es soll aber nur der Linktext erscheinen.

2.) Das Array lässt sich nur komplett als ein Datensatz in die DB eintragen, ich möchte aber jeden der 10 Linktexte einzel eintragen.


Mein Code schaut folgendermaßen aus:

PHP-Code:
<?php
include ("config.inc.php");

$links "http://www.seite.de";
$linkfile_get_contents ($links);
$suchstring "/<a href=\"(.+)\">(.+)<\/a>/";
preg_match_all($suchstring$link$treffer); 

$query="INSERT IGNORE INTO test (id,text) VALUES ('','".$treffer[0][0]."')";
mysql_db_query($dbname,$query,$db_handle) or die(mysql_error());
echo 
$treffer[0][0];
?>
 
Alt 14.05.2005, 17:19  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zu 1.
Was hat Dir die Ausgabe von print_r ($treffer) denn nun angezeigt?
Har damit. Ich würde vermuten, dass da pro Treffer drei Einträge drin sind und nicht nur einer.
Ich hab aber ja auch nie behauptet, das der Suchstring schon so passt.

Zu 2.
Du trägst doch nur einen einzigen Eintrag ein. Allerdings halt nur den ersten und nicht in Einzelteile getrennt.
Um eine Schleife wirst Du natürlich nicht herum kommen.

Außerdem:
3.
preg_match_all hat auch einen Rückgabewert!
Warum kümmert sich immer keine alte S** um Rückgabewerte einer Funktion?

4.
Nimm statt mysql_db_query lieber mysql_query. Vorher muss dann noch mir mysql_select_db die DB ausgewählt werden.
Der_Gerhard ist offline  
Alt 14.05.2005, 17:20  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von laura18
1.) Es wird der komplette Link bei der Ausgabe angezeit, es soll aber nur der Linktext erscheinen.
Schau im Manual nach - da steht unter welchem Index (des back-reference Arrays) was steht.

Zitat:
2.) Das Array lässt sich nur komplett als ein Datensatz in die DB eintragen, ich möchte aber jeden der 10 Linktexte einzel eintragen.
Durchlaufe das Array und trage eben alle einzeln ein - wo liegt da das Problem?
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 16.05.2005, 12:20  
Gast
 
Beiträge: n/a
Standard

kann mir denn keiner helfen?!

Grüße Laura
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Iframe aus einer Seite auslesen -CyberPlanet- PHP Tipps 2008 2 05.04.2008 20:48
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Andere Seite mit PHP auslesen (Quellcode sozusagen) PHP Tipps 2005-2 13 06.09.2005 20:37
Absoluter Anfänger braucht dringend Hilfe PHP Tipps 2005-2 7 01.09.2005 13:57
hilfe mit dem auslesen von datei aus einem ordner Tic Rederon PHP Tipps 2005-2 2 08.08.2005 11:30
[Erledigt] Inhalt einer PHP Seite auslesen PHP-Fortgeschrittene 8 21.07.2005 23:57
Quelltext einer Seite auslesen PHP Tipps 2005-2 1 12.07.2005 18:57
Welche seite (Adresse) rief die aktuelle seite auf? PHP Tipps 2005-2 7 05.07.2005 15:02
Mit RegEx auslesen - Hilfe beinm RegEx Monty77 PHP-Fortgeschrittene 6 09.06.2005 14:34
Quelltext von externer Seite auslesen. PHP Tipps 2005 12 29.04.2005 13:29
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Name der angeforderten Seite auslesen PHP-Fortgeschrittene 2 01.03.2005 04:13
aktuell im Frame angezeigte Seite auslesen PHP Tipps 2004 6 29.09.2004 19:49
[Erledigt] cookie bei erster aktualisierung auslesen... PHP Tipps 2004 3 09.06.2004 09:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
perg_match_all href, php quellcode externer seite ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.