Goeiedag, Voor onze biljartvereniging beheer ik een website www.bckamperduin.nl.
Voor onze teams die meespelen in de competitie haal ik dmv een php script de gegevens van biljartpoint.nl
dit zijn alleen de gegevens die voor een van onze teams van belang zijn.

<?php
$regx = '/<table>(.*)<\/table>?/msU';
$scrape_address = "http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57";;
$ch = curl_init($scrape_address);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, "");
$data = curl_exec($ch);
preg_match($regx, $data, $match);
strip_tags($match, '<br>');
echo $match[1];
?>

Dit werkt prima maar nu naar het probleem.. in het resultaat staan links deze verwijzen naar b.v.:

http://www.bckamperduin.nl/Kamperduin1/index.php?page=pr&bondsnr=139366&klasse=B1&seizoen=2014-2015&d=57

deze index.php staat op de website van biljartpoint.nl en niet op onze site.
nu wil ik graag dat de index.php wordt vervangen door b.v. kees.php

alvast bedankt voor jullie hulp

groeten,

Luc Gomes
<?php
$string= str_replace('index.php', 'kees.php', $string);
?>

Zoiets?
Elmar, allereerst bedankt voor je snelle reactie.
Kan jij mij ook helpen waar ik dit moet toevoegen aan mijn script, en het gaat op in totaal 8 links die ik graag zou willen veranderen.

index.php?page=pr&bondsnr=139366

Het bondsnr is bepalend in deze link die veranderd 8 keer bij 8 verschillende spelers.
dus b.v. kees.php klaas.php enz.

ik hoop dat je hier een oplossing voor weet want nu zijn het dode links natuurlijk.

groet,

Luc
ik neem aan dat de echo $match[1] die link terug geeft met index.php?

Dan probeer is:
<?php
$regx = '/<table>(.*)<\/table>?/msU';
$scrape_address = "http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57";;
$ch = curl_init($scrape_address);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, "");
$data = curl_exec($ch);
preg_match($regx, $data, $match);
strip_tags($match, '<br>');

if($bondsnr == 139366){
$match= str_replace('index.php', 'klaas.php', $match);
}

if($bondsnr == 120000){
$match= str_replace('index.php', 'kees.php', $match);
}
echo $match[1];
?>

Zoiets?
Mijn script geeft dit als resultaat:

bondsnr speler aanvang moy huidig moy algemeen moy car 3e wed 1e helft 2e helft no r gs pk
139366 Marcel Scheffer 1.050 1.050 .000 50 0.000 0.000 0.000 Nieuwe speler 0
204996 Robert Sebastiaan Scheffer 0.794 0.794 .000 37 0.000 0.000 0.000 Nieuwe speler 0
171967 Hans Weijland 0.564 0.564 .000 29 0.000 0.000 0.000 Nieuwe speler 0
132948 Peter Scheffer 0.529 0.529 .000 27 0.000 0.000 0.000 Nieuwe speler 0
125353 Richard de Boer 0.452 0.452 .000 25 0.000 0.000 0.000 Nieuwe speler 0
158274 Roelof Broeren 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0
223708 Jean Klaassen 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0
223706 John Nat 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0

alle namen zijn links zie hier:

http://www.bckamperduin.nl/Kamperduin1/

de gegevens die ik wil oproepen staan op de site van biljartpoint (http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57) en met het script tover ik deze met onze eigen vormgeving op onze website.
Het spreekt vanzelf dat de bedoelde links ook te vinden zijn op de website van biljartpoint en met hezelfde enigzins aangepaste script roep ik ook die gegevens op in onze eigen vormgeving de knoppen met namen vewijzen naar deze pagina's zie http://www.bckamperduin.nl/Kamperduin1/.
Nu wil ik alleen dat de links op de namen ook naar deze pagina's verwijzen.

alvast bedankt voor de tijd en aandacht.

groet,
Luc
Luc Gomes op 09/07/2014 17:30:24

Mijn script geeft dit als resultaat:

bondsnr speler aanvang moy huidig moy algemeen moy car 3e wed 1e helft 2e helft no r gs pk
139366 Marcel Scheffer 1.050 1.050 .000 50 0.000 0.000 0.000 Nieuwe speler 0
204996 Robert Sebastiaan Scheffer 0.794 0.794 .000 37 0.000 0.000 0.000 Nieuwe speler 0
171967 Hans Weijland 0.564 0.564 .000 29 0.000 0.000 0.000 Nieuwe speler 0
132948 Peter Scheffer 0.529 0.529 .000 27 0.000 0.000 0.000 Nieuwe speler 0
125353 Richard de Boer 0.452 0.452 .000 25 0.000 0.000 0.000 Nieuwe speler 0
158274 Roelof Broeren 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0
223708 Jean Klaassen 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0
223706 John Nat 0.451 0.451 .000 25 0.000 0.000 0.000 Nieuwe speler 0


Hoe haal je dit op? ( code? )


Edit:
Waarschijnlijk haal je deze 8 door een lus...
maak dan een if structuur
je weet immers het bondsnr en de naam al en die geef je al een link mee...


<?php

while {
// je hebt nu zoiets (er zit een link onder de gebruiker):
$gebruiker= '<a href="index.php?rare_lange_code_met_uniek_nummer_van_iedereen">Gebruiker</a>';
echo $gebruiker;

}
?>


Maak er zoiets van:


<?php

while {
// je hebt nu zoiets:
$link= '<a href="index.php?rare_lange_code_met_uniek_nummer_van_iedereen">Gebruiker</a>';

if($bondsnummer == 139366){
$gebruiker= str_replace('index.php', 'marcel.php', $link);

}
//etc
echo $gebruiker
}
?>


Elmar,

met deze code haal ik de table op van: http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57

<?php
$regx = '/<table>(.*)<\/table>?/msU'; // er staat maar een table dus alles in die table
$scrape_address = "http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57";; //het adres van de website
$ch = curl_init($scrape_address);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, "");
$data = curl_exec($ch);
preg_match($regx, $data, $match);
strip_tags($match, '<br>');
echo $match[1];
?>
Ik weet de naam en bondsnr niet die staan in de table en de link staat daar ook.
Dat is precies het probleem ik wil die link verwijzen naar een pagina op onze website

Of, misschien is dat makkelijker, desnoods de link (niet de naam) verwijderen zodat de dode link weg is.

groet, Luc.
Getest :-)

<?php
$regx = '/<table>(.*)<\/table>?/msU';
$scrape_address = "http://www.biljartpoint.nl/index.php?page=teamdetail&team_id=11925&compid=1022&poule=A&district=57";; //het adres van de website
$ch = curl_init($scrape_address);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, "");
$data = curl_exec($ch);
preg_match($regx, $data, $match);
strip_tags($match, '<br>');


$match[1] = str_replace('index.php?page=pr&bondsnr=139366', 'marcel.php?page=pr&bondsnr=139366', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=204996', 'robert.php?page=pr&bondsnr=204996', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=171967', 'hans.php?page=pr&bondsnr=171967', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=132948', 'peter.php?page=pr&bondsnr=132948', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=125353', 'richard.php?page=pr&bondsnr=125353', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=158274', 'roelof.php?page=pr&bondsnr=158274', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=223708', 'jean.php?page=pr&bondsnr=223708', $match[1]);
$match[1] = str_replace('index.php?page=pr&bondsnr=223706', 'john.php?page=pr&bondsnr=223706', $match[1]);

echo $match[1];
?>
Elmar,

Dit was precies wat ik bedoelde.

Bedankt voor je hulp.

Groet, Luc

Reageren