SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.04.2005, 18:17:26
Seb Seb ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 11
Parsen von HTML Code -> Wie ?

Nabend allerseids,

ich hab per google gesucht nach dem thema un einiges gefunden...
doch irgendwie krieg ichs net hin... das fängt schon damit an...

ich will ne website laden und in dem quellecode alle <a> </a> auslesen also alle links... und das erste problem is ladet man die seite in einen array oder in einen string... wenn man sie in einen array läd bekommt jede zeile einen platz in dem array... was is aber wenn <a> in einer zeile beginnt aber erst in der nächsten sich wieder schliesst? daher denk ich eher string... bin mir allerdings net sicher, dann is das hauptproblem das auslesen aller links... ich kriegs nur gebacken immer einen link auszulesen...

ich bin jetzt soweit das ich schon weiß das ich mit preg_match die urls dann ausschneiden kann...

kurz nochmal überflogen:

ich will ein script schreiben das eine url läd
Code:
// URL, die durchsucht werden soll
$url = $_GET["url"];

// URL öffnen
$seite = @fopen ($url,"r");
if (!$seite) {
   echo "URL konnte nicht geöffnet werden.n";
   exit;
}

...
jetzt ist die frage... wie les ich alle <a href.. bis zu </a> so das sie auch zeilenübergreifend sein können... falls die seite mal das haben sollte... danach will ich die links bearbeiten... welche gehen zu .html .php usw... und welche gehen zu .exe. .zip oder was auch immer... so das nur richtige links zu anderen seiten am ende gelistet werden...

wäre nett wenn ihr mir sagen könntet wie man das realisiert...

mfg Seb
Mit Zitat antworten
  #2  
Alt 02.04.2005, 19:16:38
Small-Talk Small-Talk ist offline
Junior Member
 
Registriert seit: Jan 2004
Ort: Fredersdorf bei Berlin
Alter: 40
Beiträge: 184
AW: Parsen von HTML Code -> Wie ?

guck mal, ob du hier etwas gebrauchen kannst:
http://pear.php.net/packages.php?cat...=HTML&pageID=1
Mit Zitat antworten
  #3  
Alt 02.04.2005, 19:21:52
Seb Seb ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 11
AW: Parsen von HTML Code -> Wie ?

hab nix finden können... den bbcode parser is das einzigste was mit dem thema zu tuen hat... un der is ja das gleiche im prinziep wie str_replace
Mit Zitat antworten
  #4  
Alt 02.04.2005, 19:23:11
Quadaptor Quadaptor ist offline
Anfänger
 
Registriert seit: May 2003
Ort: Frankfurt/Main
Beiträge: 12
Quadaptor eine Nachricht über ICQ schicken Quadaptor eine Nachricht über MSN schicken
AW: Parsen von HTML Code -> Wie ?

probier das mal: http://de2.php.net/manual/en/functio...t-loadhtml.php
Mit Zitat antworten
  #5  
Alt 02.04.2005, 20:25:50
Afrika Afrika ist offline
Junior Member
 
Registriert seit: Feb 2005
Beiträge: 181
AW: Parsen von HTML Code -> Wie ?

PHP-Code:
AddType application/x-httpd-php .html
Options 
+FollowSymLinks
RewriteEngine on 
und als .htaccess abspeichern
Mit Zitat antworten
  #6  
Alt 03.04.2005, 00:51:01
AA AA ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 5
AW: Parsen von HTML Code -> Wie ?

kleine *anregung* ohne irgendeinen anspruch ;)

Code:
<?php
// URL, die durchsucht werden soll
#$url = 'http://dict.leo.org/?lp=ende&lang=de&searchLoc=0&cmpType=relaxed&relink=on&sectHdr=on&spellToler=std&search=parser';
$url = 'http://dict.leo.org';

$parsed_uri = parse_url($url);
// URL öffnen
if( function_exists('file_get_contents') )
{
	$page = file_get_contents($url);
} else {
	die('deine php-version stinkt! :D');
}

if( preg_match_all("/<as+?href="(.*)"/Uis", $page, $match))
{
	unset($match[0]);
	$links = array();
	foreach($match[1] as $link)
	{
		$plink = parse_url($link);

		if( empty($plink['scheme']) and empty($plink['host']))
		{
			// relative pfade umwandeln
			$links[] = $parsed_uri['scheme'] .'://'. $parsed_uri['host'] .'/'. preg_replace('/^/+/U', '', $link);
		} else {
			if( !empty($plink['scheme']) and( $plink['scheme'] == 'javascript' ))
			{
				continue;
			}
			$links[] = $link;
		}
	}

	echo "<pre>". implode("n", $links);
} else {
	// keine brauchbaren links gefunden
}
?>
liefert dann sowas zur weiteren verarbeitung ab:

http://www.leo.org/
http://www.informatik.tu-muenchen.de/
http://dict.leo.org/
http://www.leo.org/
http://dict.leo.org/?lp=ende&search=
http://dict.leo.org/cgi-bin/dict/forum.cgi?lang=de&lp=ende
http://dict.leo.org/mydict/login.php?lang=de&lp=ende
http://dict.leo.org/?lp=frde&search=
http://dict.leo.org/cgi-bin/dico/forum.cgi?lang=de&lp=frde
http://dict.leo.org/mydict/login.php?lang=de&lp=frde
http://dict.leo.org/?lang=en&lp=ende&search=
http://dict.leo.org/?lp=ende&lang=de
http://dict.leo.org/?searchLoc=-1&searchLocRelinked=-1&lp=ende&search=&lp=ende
http://dict.leo.org/?searchLoc=0&searchLocRelinked=0&lp=ende&search=&lp=ende
http://dict.leo.org/?searchLoc=1&searchLocRelinked=1&lp=ende&search=&lp=ende
http://dict.leo.org/
http://dict.leo.org/pages.ende/tipps_de.html
http://ads.leo.org/bec58b2bd78735e39f6e0094ef3d712f+L+1__
http://dict.leo.org/pages.ende/tipps_de.html
http://dict.leo.org/pages.ende/tipps_de.html
http://dict.leo.org/pages.ende/tipps_de.html
http://dict.leo.org/pages.ende/tipps_de.html
http://dict.leo.org/pages.ende/tipps_de.html
http://www.dwds.de/
http://www.englishpage.com/
http://www.canoo.com/
http://www.canoo.com/wmtrans/
http://www.m-w.com/
http://www.atip.de/
http://tcts.fpms.ac.be/synthesis/mbrola.html
http://www.t-mobile.de/business/
http://www.leinhaeuser.de/
http://www.vhb.org/
http://www.last-minute-reisen-weltweit.de
http://www.zappmedia.de
http://www.zappmedia-gmbh.de
http://www.expedia.de/
http://www.schnaeppchenjagd.de/
http://www.opusforum.org/
http://www.tigerlily.ch
http://www.abnehmen.com/
http://www.osalo.net/
http://www.lastminute-ziele.de/
http://www.terracus.de
http://www.geizhals.at/eu/
http://www.idealo.de/
http://www.schoenheit-und-medizin.de
http://www.idealo-preissuche.de
http://dict.leo.org/#google
http://dict.leo.org/#new
http://dict.leo.org/#pda
http://dict.leo.org/#persp
http://dict.leo.org/#query
http://dict.leo.org/#entry
http://pda.leo.org/
http://www.pda-surftipps.de
http://www.t-mobile.de/business/
http://umfrage.perspektive-deutschland.de/621101
http://dict.leo.org/pages.ende/faq_de.html
http://dict.leo.org/pages.ende/abbrev_en.html
http://dict.leo.org/pages.ende/toolbars_de.html
http://dict.leo.org/pages.ende/sms_de.html
http://dict.leo.org/pages.ende/error_de.html
http://dict.leo.org/pages.ende/links_de.html
http://www.leo.org/dict/guestbook/guestbook_en.html
http://dict.leo.org/pages.ende/stat_de.html
http://dict.leo.org/pages.ende/koop_de.html
http://dict.leo.org/pages.ende/helpers_de.html
http://dict.leo.org/pages.ende/about_de.html
http://dict.leo.org/pages.ende/werbung_de.html
http://dict.leo.org/pages.ende/impressum_de.html
http://www.sun.de/
http://dict.leo.org/pages.ende/about_de.html?lang=de
http://www.leo.org/dict/about_de.html

Geändert von AA (03.04.2005 um 00:55:03 Uhr)
Mit Zitat antworten
  #7  
Alt 03.04.2005, 01:56:54
Seb Seb ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 11
AW: Parsen von HTML Code -> Wie ?

dankeschön... ist aufjedenfall genau das was ich suche...
werds gleich mal ausprobieren!
Mit Zitat antworten
  #8  
Alt 03.04.2005, 04:36:32
Seb Seb ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 11
AW: Parsen von HTML Code -> Wie ?

sodala, es funzt nicht ganz... danke erstmal vielmals dasde gleich das ganze script gepostet hast...

nur ich würds auch gern verstehen *gg*

ich hab als test eine seite geladen... er liest sie richtig... aber bei undirekten pfaden nicht...

also wenn z.b. nicht die ganze url im href steht wie href="./super.html" oder nur href="super.html" dann nimmt er die haupturl von der seite... und nicht das verzeichnis wo die datei grad ist... also wenn die url

http://www.X.de/X/index.html ist und der link geht nach "super.html" nimmt er es un zeigt es als http://www.X.de/super.html

wie krieg ich das problem gelöst?

un am code selbst verstehe ich nicht

Code:
		if( empty($plink['scheme']) and empty($plink['host']))
		{
			// relative pfade umwandeln
			$links[] = $parsed_uri['scheme'] .'://'. $parsed_uri['host'] .'/'. preg_replace('/^/+/U', '', $link);
		} else {
			if( !empty($plink['scheme']) and( $plink['scheme'] == 'javascript' ))
			{
				continue;
			}
			$links[] = $link;
		}
is klar das das mit parse_url zu tuen hat... nur ich verstehe nicht was "scheme" sagt??? http? un wenn kein http davor steht soller jvascript nehmen?

mfg
Mit Zitat antworten
  #9  
Alt 04.04.2005, 00:23:15
AA AA ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 5
AW: Parsen von HTML Code -> Wie ?

Zitat:
nur ich würds auch gern verstehen *gg*
entschuldige, dass ich mir nicht die zeit genommen habe, die erklärungen von php.net abzuschreiben, denn mehr gibt es dazu auch nicht zu sagen. tipp: www.php.net/suchbegriff

www.php.net/parse_url
www.php.net/function_exists
www.php.net/file_get_contents
www.php.net/preg_match_all

etc.

Zitat:
wie krieg ich das problem gelöst?
ich schrieb auch extra *anregung*, weil das beispiel unvollständig ist. es berücksichtigt nicht die von die genannte verlinkung. hier müsste man noch einen zusätzlichen anbau vornehmen, der auch wieder abhängig von der aufgerufenen url ist (sichtbare [verzeichnis]struktur).
daher habe ich auch die if/else geschichte eingebaut, damit du dort noch beliebig rumwursteln kannst ;)

Geändert von AA (04.04.2005 um 00:24:12 Uhr)
Mit Zitat antworten
  #10  
Alt 09.04.2005, 10:36:17
Seb Seb ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 11
AW: Parsen von HTML Code -> Wie ?

habs jetzt so gemacht, die suche in 3 sub kategorien gemacht <a irgendwas> inhalt </a> un die 3 daten werden in ein array geschrieben so das ich den inhalt habe un weiterverarbeiten kann...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML Parsen beginner21 PHP für Fortgeschrittene und Experten 4 29.01.2005 22:45:17
Raus aus dem PHP und den folgenden HTML Code ausführen?? net-tom PHP Grundlagen 2 05.08.2003 08:16:27
Textarea + Zeilenumbrüche + 'böser' HTML Code = Problem BlindCrazyBoy PHP für Fortgeschrittene und Experten 1 10.04.2003 18:01:58
HTML Code aus Datei einlesen Psycho PHP für Fortgeschrittene und Experten 4 12.03.2003 00:50:10
php code in html code einfügen TimXtreme PHP Grundlagen 2 29.08.2002 09:50:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:37:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt