aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[PHP] Bepaalde stukken tekst van pagina plukken

Je komt er niet helemaal uit bij het scripten? Übergoede functie geschreven? Alles met betrekking tot scripting, kun je hier terecht.

[PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 14 okt 2008 19:10

Is het mogelijk om stukken tekst enkel van een pagina te plukken? Het gaat hier om de skills van een RPG. Dus enkel het level, de experience, attack, defense, wapens en class.

Als ik bijvoorbeeld de info in een class zet (span class="meenemen"), kan ik dan tegen PHP zeggen dat ie alles van die class moet pakken, en onder elkaar/in 2 kolommen moet weergeven op een andere pagina? :razz:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Remi » 14 okt 2008 19:17

Ja dat kan, er zijn meerdere manieren. Ik heb het zelf namelijk ook wel is gedaan.
Maar ik geloof dat het hier op wmp wel vaker is gevraagd, dus ff zoeken. ;)
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 14 okt 2008 19:45

Kan het niet vinden. :(
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor ElbertF » 14 okt 2008 19:50

Je kan met url_get_contents() de inhoud van een pagina plukken en vervolgens met reguliere expressies zoeken naar het gedeelte wat je eruit wilt plukken. Als dat is wat je bedoelt. :)
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 14 okt 2008 19:54

Als jij zegt, waar het op lijkt klopt het ja. Ik wil de inhoud weergeven, en dan enkel een paar velden (die ik in divjes kan stoppen) laten weergeven. Laat ik nou een 2.8 hebben gehaald op Salomon's PHP-toets.. :razz:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor ElbertF » 14 okt 2008 20:25

Oh ik had een teleurstellende 8,8. :P

Maar ehm ja, regex is zo ongeveer het lastigste van PHP om onder de knie te krijgen. :)
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor KillerSponge » 14 okt 2008 20:37

Zolang je maar niet implode gebruikt, en gewoon file_get_contents() gebruikt.

Regex valt wel mee. Met preg_match('/blabla(.*?)blabla/',$content,$result), en vervolgens $result[1] kan je het stukje dat tussen blabla en blabla staat opvragen. Meer hoef je in het begin niet te weten :P
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Derk » 14 okt 2008 20:37

Code: Selecteer alles
<?PHP
$var=implode('',file('http://www.jesite.nl'));
list(,$var)=explode('jebegintekst',$var);
list($var,)=explode('jeeindtekst',$var);
echo$var;
?>


zo doe je dat dus :)
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor libia » 14 okt 2008 21:24

gewoon ff met curl de pagina ophalen (veiliger dan file_get_contents, maar moet wel op je host geïnstalleerd zijn (vaak wel)) en dan doe je een preg_match(_all) om bepaalde gegevens uit de pagina te filteren :)

Als ik het niet vergeet maak ik morgen wel ff voorbeeldje (met uitleg natuurlijk)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 11:22

Moet ik nou die van Derk gebruiken, of wachten op die van libia? :P


Oftewel; is de code van Derk goed & veilig? :mrgreen:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor KillerSponge » 15 okt 2008 12:28

Nee, die code van Derk is onveilig, bagger, en gaat snel kaput :P
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Derk » 15 okt 2008 13:02

curl is niet veiliger als file_get_contents hoor...
curl kan alleen meer...
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor libia » 15 okt 2008 13:04

ik heb nu een simpel voorbeeldje (snel gemaakt.. maar bij mij werkt het wel :) )

data.php:
Code: Selecteer alles
<?php
$curl_handle = curl_init(); //begin curl
curl_setopt($curl_handle, CURLOPT_URL, 'http://localhost/tests/data.html'); //geef aan welke pagina er moet worden gelezen
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 5); //geef de tijd aan die hij er over mag doen
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); //Hiermee returnd hij de waarde, ipv het gewoon te echoen!
$pagina = curl_exec($curl_handle); //voer de curl uit
curl_close($curl_handle); //sluit de curl

if(empty($pagina)) //er staat niets op de pagina
{
   echo "Helaas, er is niets beschikbaar!";
}
else
{
   if(preg_match_all("/<div\sclass=\"lol\"[^>]*>([^<]*)<\/div>/is", $pagina, $matches)) //zoekt naar <div class="lol"*>(*)</div> //op sterretje kan iets staan en tussen haakjes wordt geselecteerd
   {
      echo '<pre>';
      var_dump($matches); //laat de inhoud van de array zien
      echo '</pre>';
      echo '<br /><br />manieren van lol:<br />';
      foreach($matches[1] as $match)
      {
         echo ' ' . $match;
      }
   }
   else
   {
      echo "niets!";
   }
}
?>


data.html
Code: Selecteer alles
<html>
<head>
</head>
<body>
<h1>Bla</h1>
<p>blabla</p>
<div class="lol">haha</div>
<div class="lol">hehe</div>
<div class="lol">hihi</div>
</body>
</html>
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Derk » 15 okt 2008 13:07

dan vind ik mijn manier makkelijker...
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor libia » 15 okt 2008 13:08

Derk schreef:dan vind ik mijn manier makkelijker...

jou methode is erg beperkt...
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Derk » 15 okt 2008 13:40

libia schreef:
Derk schreef:dan vind ik mijn manier makkelijker...

jou methode is erg beperkt...

met mijn methode kan je letterlijk alles wat je zou willen. Heb het al zeer vaak gedaan zo.
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 14:05

@libia: Dankje! :mrgreen: Kben het nu aan het testen (plus een manier te vinden dit evt. in een BBcode te verwerken) :razz:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 15:24

Vraagje. Is het mogelijk om, wanneer ik bijvoorbeeld data.php?u=1 bezoek, de gegevens zich dan automatisch aanpassen? Dus dat http://localhost/tests/user.php veranderd naar http://localhost/tests/user.php?=1 oid.? :mrgreen:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Remi » 15 okt 2008 15:42

Ik snap niet helemaal wat je bedoelt. :?
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 15:48

Nou kijk; we werken met statistieken van verschillende gebruikers. Die statistieken staan op de character-pagina: index.php?do=onlinechar:ID. Het ID verschilt natuurlijk per user.

Dus mijn vraag is: als ik nou naar data.php?u=ID surf (data.php uit de code van libia), kan ik dan zorgen dat ie, wanneer ik bijvoorbeeld naar data.php?u=6 surf, zorgen dat ik de statistieken krijg van user 6, dus van pagina index.php?do=onlinechar:6 ?? :razz:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor libia » 15 okt 2008 16:28

ja natuurlijk kan dat :)

Code: Selecteer alles
<?php
If(isset($_GET['u']))
{
$url .= '?do=onlibechar:' . $_GET['u'];
}
?>
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 16:31

Moet de I van de if geen kleine letter zijn? :)

Verder bedankt. Maakt het nog uit waar ik de code zet (bovenaan maar? :D )
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor libia » 15 okt 2008 16:36

moet idd kleine i zijn ;) (heb het op iPhone getypt)

En moet boven curl script en daarboven moet je dan natuurlijk nog de url variabele maken ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Johan » 15 okt 2008 17:02

Super! :razz:
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [PHP] Bepaalde stukken tekst van pagina plukken

Berichtdoor Derk » 28 okt 2008 16:24

libia schreef:ik heb nu een simpel voorbeeldje (snel gemaakt.. maar bij mij werkt het wel :) )


Code: Selecteer alles
<html>
<head>
</head>
<body>
<h1>Bla</h1>
<p>blabla</p>
<div class="lol"><b>haha</b></div>
<div class="lol"><strong>hehe</strong></div>
<div class="lol"><i>hihi</div>
</body>
</html>


Dit stuk HTML pakt jou regex helemaal niet. Hoe los je dat op?
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Volgende

Keer terug naar PHP, ASP, SQL



cron