Willkommen in der Webstatt
User-1 am 15.10.06 18: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 ,.

netcup.de Warum gibt es hier Werbung?
User-2 am 15.10.06 19:20

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

User-1 am 15.10.06 21: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,.

User-3 am 15.10.06 21: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-1 am 15.10.06 21: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

User-3 am 16.10.06 00:39

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

User-4 am 16.10.06 13: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 ;)

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

User-1 am 16.10.06 14: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,.

User-2 am 16.10.06 18:07

mach print_r($ausgabe) ;-) dann siehste es

User-5 am 16.10.06 18:26

als Grobversion

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

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;') {
print $value.' - '.$result[2][$index].' - '.$result[3][$index]."\n";
}
}
} else {
print 'nein';
}

User-1 am 27.10.06 17: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, " "));
$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|| ')".*?</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')" onMouseOut="doff()">Ladies Night</a><br>

User-1 am 28.10.06 16:37

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

User-6 am 28.10.06 18:29

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

User-7 am 28.10.06 18: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

User-1 am 30.10.06 17:29

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


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

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt