Data verkrijgen van een andere website
Code (php)
Om het level op te halen, maar nu moet ik iets ophalen dat mij niet lukt, namelijk een integer, vanuit deze html tags, de reden dat ik het zo do is omdat het cijfer/text dynamisch is en dus op elk moment kan veranderen.
Dit is de html tag waar het cijfer zich bevind.
Code (php)
1
2
3
2
3
<html>
<div class="value" onmouseover="mt.js.Tip.show(this,'Number of victories in the Arena.',null)" onmouseout="mt.js.Tip.hide()">8</div>
</html>
<div class="value" onmouseover="mt.js.Tip.show(this,'Number of victories in the Arena.',null)" onmouseout="mt.js.Tip.hide()">8</div>
</html>
Het specifieke cijfer waar het hier om gaat is de 8 die in de div zelf zit.
Hier is de code die ik gebruik maar niet werkt. print_r($mydata3) geeft ook niks.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$lines_array3 = file($url);
$lines_string3 = implode('', $lines_array3);
eregi("<div class=\"value\" onmouseover=\"mt.js.Tip.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt.js.Tip.hide()\">(.*)</div>
", $lines_string3, $mydata3);
$victories = $mydata3[0];
echo $victories,"<br><br>";
?>
$lines_array3 = file($url);
$lines_string3 = implode('', $lines_array3);
eregi("<div class=\"value\" onmouseover=\"mt.js.Tip.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt.js.Tip.hide()\">(.*)</div>
", $lines_string3, $mydata3);
$victories = $mydata3[0];
echo $victories,"<br><br>";
?>
Als je data op wilt halen, dan kan je ook gebruik maken van file_get_contents.
Je kunt ook met dom (en misschien simplexml) aan het werk gaan.
Ik snap het hele gedoe met preg niet.
Hier kun je testen.
Dan nog snap ik het niet helemaal. Misschien als je mij een voorbeeld kan geven dat ik er meer van snap?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$regex = "/<div class=\"value\" onmouseover=\"mt.js.Tip.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt.js.Tip.hide()\">(.*)<\/div>/";
preg_match_all($regex, $url, $mydata3);
print_r($mydata3);
?>
$regex = "/<div class=\"value\" onmouseover=\"mt.js.Tip.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt.js.Tip.hide()\">(.*)<\/div>/";
preg_match_all($regex, $url, $mydata3);
print_r($mydata3);
?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Iemand nog een idee?
escape alle speciale karakters binnen je regexp, zoals bijv. de punten in mt.js.Tip.show (dus mt\.js\.Tip\.show)
Code (php)
1
2
3
2
3
<?php
$regex = "/<div class=\"value\" onmouseover=\"mt\.js\.Tip\.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt\.js\.Tip\.hide\()\">(.*)<\/div>/";
?>
$regex = "/<div class=\"value\" onmouseover=\"mt\.js\.Tip\.show(this,'Number of victories in the Arena.',null)\" onmouseout=\"mt\.js\.Tip\.hide\()\">(.*)<\/div>/";
?>
maar het werkt nog steeds niet
Dit geeft ook aan wat je match. Pruts daar eens wat mee.
En lees ook eens een tutorial regex tutorial.
En lees ook eens een tutorial regex tutorial.
mydata3[0][0]
Dankje, het werkt perfect. Nu de andere codes omzetten in preg en regex.