Oke, ik heb een website op een andere server, nu wil ik data van die website naar een lokaal gehoste website hebben, daarvoor gebruik ik
<?php
   $url = 'link hier';
   $lines_array = file($url);
   $lines_string = implode('', $lines_array);
   eregi('Level (.?)', $lines_string, $mydata);
   echo $mydata[0],"<br><br>";
?>

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.

<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.


<?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>";
?>
Eregi is oud. Gebruik liever preg_*.
Als je data op wilt halen, dan kan je ook gebruik maken van [php]file_get_contents[/php].
Je kunt ook met [php]dom[/php] (en misschien [php]simplexml[/php]) aan het werk gaan.
Ik snap het hele gedoe met preg niet.
Ongeveer hetzelfde als met eregi, alleen is preg beter.
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?
Oke, Ik heb nu al iets. het geeft mij alleen lege arrays.. >.<


<?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);
?>
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)
mijn regex is nu

<?php
   $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 [google]regex tutorial[/google].
Oke, de code werkt nu, maar nu wil ik dus de goede data uit de array halen, die staat op 0. maar als ik mydata3[0] echo, zegt ie alleen: Array, dit is de array:


Array ( [0] => Array ( [0] =>
10
) [1] => Array ( [0] => 10 ) ) 

Reageren