Webstatt.org - Community seit 2006 - 2012 (2024?)

seite auslesen, ergbnis filtern

user-139
15.10.2006 16:09

mit
$seite = "http://www.----de";
$parser_start = '<font class="storytitle">';
$parser_ende = '<b>- Weitere Termine in Vorbereitung -</b>';
$element = explode ($parser_start, implode ('', file ($seite)));
$result = explode ($parser_ende, $element[1]);
echo "<b>$result[0]</b>";


kann ma ja ne fremde seite auslesen , das funktioniert auch wunderbar , doch wie kann man aus dem ergebnis z.B. termine rausfiltern?
hab via google nichts nützliches gefunden
es müsste ja ein anfangswert und endwert geben ,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-182
15.10.2006 17:20

regex lächeln
--> http://www.php-faq.de/ch/ch-regexp.html
--> http://tut.php-q.net/regex.html

Seid ihr auch schon wix'r? xD
user-139
15.10.2006 19:22

mhh habs verstanden aba irgendwo steckt der wurm drin ..

###termine rausfiltern
error_reporting(E_ALL);

$suchtext=" <tr valign=\"top\">
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10n\"><b>(.*)</b> <b>(.*)
</b></td>
</tr>/siU";


preg_match_all($suchtext, "$result/\[0/\]", $ausgabe);
print $ausgabe[0][1][2][3];



hab ich bekomme aber immer in dem preg_match nen Fehler,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-140
15.10.2006 19:26

weil du am anfang und ende des regex auch ein / schreiben musst

ala
$suchtext="/<tr valign=\"top\">
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10n\"><b>(.*)</b> <b>(.*)
</b></td>
</tr>/siU";


am ende stehts eh, aber anfang hast das vergessen,
ansonsten hab ich mir den regex NICHT genauer angeschaut

user-139
15.10.2006 19:32

bekomme da solche fehler

: preg_match_all() [function.preg-match-all]: Unknown modifier 'b' in E:\xampp\xampp\htdocs\projects\buddylist\auslesen.php on line 29

Notice: Undefined offset: 0 in E:\xampp\xampp\htdocs\projects\buddylist\auslesen.php on line 30

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-140
15.10.2006 22:39

jo weil du auch die / escapen musst
also \/, ein \ und ein /

Avatar user-271
16.10.2006 11:37

$suchtext="#<tr valign=\"top\">
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10nf\"><b>(.*)</b></td>
<td class=\"a10n\"><b>(.*)</b> <b>(.*)
</b></td>
</tr>#siU";

so sollte es klappen ;D was du als delimiter hinsetzt ist egal...es soll bloss ein sonderzeichen sein, kann auch ein % oder # sein statt /

wenn du dieses Sonderzeichen im RegEx verwenden willst, dann musst du es escapen zwinkern

deshalb verwend ich da lieber eine Raute, nachdem du sonst so viel escapen musst *g*

#!/bin/bash
traurig){ neutral:& };:
user-139
16.10.2006 12:26

mhh ich göaub ich hab die eigentlich funktion verfehlt, bbzw da fehlt noch was?

und zwar will ich ja die gefunden werte dann mit $ausgabe[0], $ausgabe[1] abrufen , es geht aber nich,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-182
16.10.2006 16:07

mach print_r($ausgabe) zwinkern dann siehste es

Seid ihr auch schon wix'r? xD
Avatar user-253
16.10.2006 16:26

als Grobversion

$data = file_get_contents('http://www.be-insi.de/modules.php?name=News&file=categories&op=newindex&catid=13'zwinkern;

if(preg_match_all('/<tr valign="top">.*?<td class="a10nf">(.*?)<\/td>.*?<td class="a10nf">(.*?)<\/td>.*?<td class="a10n">(.*?)<\/td>.*?<\/tr>/si',$data,$result)) {
//print_r($result);
foreach($result[1] as $index => $value) {
if($value != '&nbsp;'zwinkern {
print $value.' - '.$result[2][$index].' - '.$result[3][$index]."\n";
}
}
} else {
print 'nein';
}

user-139
27.10.2006 15:31

so,. hab hier mal ein neues problem ,.
preg_match_all('/class=\"content_500\".*?<div align=\"left\".*?valign=\"top\">(.*?)<\/td>.*?valign=\"top\">(.*?)<\/td>.*?valign=\"top\">(.*?)<\/td>.*?/is',$data,$match);


#$result =
#print_r(array_filter($result, " "zwinkern);
$result[1] = explode('<br>',$match[1][0]);
$result[2] = explode('<br>',$match[2][0]);
$result[3] = explode('<br>',$match[3][0]);


$result[1] = preg_replace("/<.*?>/","",$result[1]);
$result[2] = preg_replace("/<.*?>/","",$result[2]);
#<.*?,'.. |||/$will ich haben|| 'zwinkern".*?</a>
##gibt /events/xxx.jpg zurück
/* $zeile zur Kontrolle ausgeben */
print "<br>".nl2br($zeile);


$result[3] = preg_replace("/<.*?>/","",$result[3]);
foreach($result[1] as $index => $value) {


das funzt zwar soweit allerdings steckt in dem $result[3] noch ein link drinnen den ich haben möchte , bekomme ihn aber nicht raus hat einer von euch ne idee?

die komplette zeile aus der der Link raus soll sieht so aus!
  ??????                        <a class="link" href="#" onMouseOver="don('','../events/ladysnight.jpg'zwinkern" onMouseOut="doff()">Ladies Night</a><br>

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-139
28.10.2006 14:37

kann mir da keiner helfen wäre wirklich wichtig,..-

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-344
28.10.2006 16:29

//oups fuck it
hab falsch geklickt! wollte einen thread erstellen... tut mir leid!
bezüglich eines captcha's...

Avatar user-118
28.10.2006 16:33

Falls es auch was anderes sein darf:

Mawcha hat sich schon einige Male bewährt: http://forum.webstatt.org/thread.php?threadid=1263&hilight=mawcha

Ich brauche keine Signatur
user-139
30.10.2006 16:29

so nach mehrerer stunden probieren hab ich es geschafft! Fettes Grinsen
$suchmuster = "/\<a .*\,'\.\.(.*?)'\).*?\<\/a\>/si";
$result[4] = preg_replace($suchmuster, "\\1", $result[3]);


allerdings bekomme ich jetzt keine ausgeba mehr bei $result[3][$index]

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe