php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.09.2004, 15:44  
Gast
 
Beiträge: n/a
Standard preg_match_all? Falsche Ausgabe

Hi Folks...

Habe mir ein Script zusammen gebastelt womit ich bestimmte Inhalte aus einer externen Website auslese und in dem Script anzeige... nennt man Content Grabbing...

Nun mein Problem:

Wenn ich mein Script online aufrufe gibt er mir im Script nur "Array" aus...

Aber nicht das was ich will...

Mein Script:

PHP-Code:
<?
$file 
"http://search.stores.ebay.de/search/search.dll?query=t610+geh%E4use+-auswahl&socolumnlayout=4&sofp=0&socolorid=4&sostorename=numan+Handy+Shop&saseller=113048557&from=R10";

$handle fopen ($file'r');
while (!
feof($handle)) 
{
$buffer .= fgets($handle4096)."\n";
}

preg_match_all('!<a.+>.*[img]http://thumbs.ebaystatic.com/pict/(.+)[/img].+[url="(.+)"]\s*(\w.+)[/url]!isU'$buffer$results);
echo 
"$results[0]";

 
?><?
fclose 
($handle);
?>
Was hab ich falsch gemacht und was muss ich berichtigen... Oder kann das jemand für mich übernehmen... Wäre toll...

Danke schonmal im Vorraus für eure Hilfe....

Andre
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.09.2004, 15:55  
Gast
 
Beiträge: n/a
Standard

hmm, wirklich weiterhelfen kann ich nicht, aber ein kleines Hilfstool kann ich dir anbieten..

Such mal unter google nach " The RegEx Coach ", vielleicht hast du einfach nen Abfragefehler. Das Tool ist zwar nicht grade übersichtlich, aber sobald man damit umgehen kann, sehr nützlich !!

Gruss Desti
 
Alt 28.09.2004, 16:29  
Gast
 
Beiträge: n/a
Standard

Ne hilft mir nicht wirklich weiter... weil ich den passenden regexp anderweitig auswerten lasse... Es scheint bei mir ein fehler mit den Arrays zu sein... was anderes kann ich mir nicht denken...
 
Alt 28.09.2004, 16:41  
Gast
 
Beiträge: n/a
Standard

preg_match_all() liefert sämtliche fetches zurück. Allerdings nicht nach Gesamtmuster sondern nach Position im Muster "gruppiert".
PHP-Code:
<?php
$text 
'abc123xyz';
$pattern '!\D(\d+)\D!';
if( 
preg_match($pattern$text$match) )
{
    echo 
gettype($match), ' : 'gettype($match[1]), "
\n"
;
    echo 
$match[1], "
\n"
;
}


$text 'abc123klm890xyz';
if( 
preg_match_all($pattern$text$matches) )
{
    
    echo 
gettype($matches), ' : 'gettype($matches[1]), ' : 'gettype($matches[1][0]), "
\n"
;
    foreach(
$matches[1] as $m)
        echo 
$m"
\n"
;
}
?>
 
Alt 28.09.2004, 16:44  
Gast
 
Beiträge: n/a
Standard

Beispiel 2. Zusammen gehörende HTML-Tags finden (gierig)
PHP-Code:
<?php
// Das \\2 ist ein Beispiel für Rückreferenzierung. Es teilt pcre mit, dass
// der reguläre Ausdruck mit dem für das zweite Klammerpaar, also in diesem
// Fall mit dem für ([\w]+) gefundenen Ausdruck selbst übereinstimmen muss.
// Der zusätzliche Backslash wird wegen der doppelten Anführungsstriche
// benötigt.
$html "[b]fett gedruckter Text[/b]<a href=howdy.html>klick mich an</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/"$html$treffer);

for (
$i=0$icount($treffer[0]); $i++) {
  echo 
"gefunden: " $treffer[0][$i] . "\n";
  echo 
"Teil 1: " $treffer[1][$i] . "\n";
  echo 
"Teil 2: " $treffer[3][$i] . "\n";
  echo 
"Teil 3: " $treffer[4][$i] . "\n\n";
}
?>
orginal von php.net
http://de2.php.net/manual/de/functio...-match-all.php

will heißen, versuchs mal so:
PHP-Code:
<? 
$file 
"http://search.stores.ebay.de/search/search.dll?query=t610+geh%E4use+-auswahl&socolumnlayout=4&sofp=0&socolorid=4&sostorename=numan+Handy+Shop&saseller=113048557&from=R10"

$handle fopen ($file'r'); 
while (!
feof($handle)) 

$buffer .= fgets($handle4096)."\n"


preg_match_all('!<a.+>.*[img]http://thumbs.ebaystatic.com/pict/(.+)[/img].+[url="(.+)"]\s*(\w.+)[/url]!isU'$buffer$results); 
echo 
$results[0][0]; 

// du könntest auch mal print_r auf $results anwenden

fclose ($handle); 
?>
 
 


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
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
Class Ausgabe Problem wk-moray PHP-Fortgeschrittene 6 12.02.2008 10:06
falsche ausgabe von numerischen datensatz bei sql-abfrge XraYSoLo PHP Tipps 2006 5 12.09.2006 11:00
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe wird an die falsche Stelle includet. PHP Tipps 2005-2 6 25.10.2005 13:25
[Erledigt] SELECT Problem - keine Ausgabe. Datenbanken 1 24.10.2005 02:06
Falsche Ausgabe bei WHERE Clause Datenbanken 8 07.10.2005 10:18
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
[Erledigt] Geteilte Ausgabe an den Browser... PHP-Fortgeschrittene 4 01.07.2005 13:07
Warum falsche numerische ausgabe bei date()? PHP Tipps 2005 5 11.03.2005 10:58
Falsche Ausgabe bei for-Schleife PHP Tipps 2005 9 09.03.2005 16:01
[Erledigt] date() Ausgabe in Deutsch PHP-Fortgeschrittene 8 06.02.2005 19:32
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
[Erledigt] Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match_all ausgabe

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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.