Tekst kopieren van andere site
Ik zou graag van een andere website een stukje tekst willen kopieren d.m.v. PHP.
Ik heb de volgende code:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$lines = 'http://www.website.nl';
$bericht = file_get_contents($lines);
echo $bericht;
?>
$lines = 'http://www.website.nl';
$bericht = file_get_contents($lines);
echo $bericht;
?>
Hoe kan ik er voor zorgen dat hij dat stukje pakt wat ik wil?
Kun je dat vertellen d.m.v. code ofzo
Het dient er trouwens ook niet voor. file_get_contents (kijk maar eens naar de naam) leest een file en geeft de inhoud van de file weer.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
Okee, maar hoe kan ik mijn stukje tekst kopiëren?
ik heb ooit iets gehoord over CURL
Emmanuel Delay schreef op 09.07.2009 15:26:
file_get_contents zal vaak niet werken voor files op andere servers. Sommige servers zullen dat niet toe laten.
Het dient er trouwens ook niet voor. file_get_contents (kijk maar eens naar de naam) leest een file en geeft de inhoud van de file weer.
Het dient er trouwens ook niet voor. file_get_contents (kijk maar eens naar de naam) leest een file en geeft de inhoud van de file weer.
Alles wat je kan browsen met je browser kan je met file_get_contents ook nemen?
@ topic;
Met explode kan je dit doen..
bv
<span id="maincontent">
Lorem Ipsum Dolor Sit Amet...
</span>
==>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$content = file_get_contents("http://website.be");
$expl1 = explode('id="maincontent">', $content);
$expl2 = explode('</span>', end($expl1));
$result = $expl2[0];
echo $result; // OUTPUT: Lorem Ipsum Dolor Sit Amet...
?>
$content = file_get_contents("http://website.be");
$expl1 = explode('id="maincontent">', $content);
$expl2 = explode('</span>', end($expl1));
$result = $expl2[0];
echo $result; // OUTPUT: Lorem Ipsum Dolor Sit Amet...
?>
NOTE: Nog niet gestest maar zou moeten werken
Trouwens het is wel verstandig om toestemming te vragen.
Als hij vermeld van waar het komt mag dit toch..? (bronvermelding)
Ja ik heb toestemming.
Paradox™ schreef op 09.07.2009 15:49:
Alles wat je kan browsen met je browser kan je met file_get_contents ook nemen?
@ topic;
Met explode kan je dit doen..
bv
<span id="maincontent">
Lorem Ipsum Dolor Sit Amet...
</span>
==>
NOTE: Nog niet gestest maar zou moeten werken
Emmanuel Delay schreef op 09.07.2009 15:26:
file_get_contents zal vaak niet werken voor files op andere servers. Sommige servers zullen dat niet toe laten.
Het dient er trouwens ook niet voor. file_get_contents (kijk maar eens naar de naam) leest een file en geeft de inhoud van de file weer.
Het dient er trouwens ook niet voor. file_get_contents (kijk maar eens naar de naam) leest een file en geeft de inhoud van de file weer.
Alles wat je kan browsen met je browser kan je met file_get_contents ook nemen?
@ topic;
Met explode kan je dit doen..
bv
<span id="maincontent">
Lorem Ipsum Dolor Sit Amet...
</span>
==>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$content = file_get_contents("http://website.be");
$expl1 = explode('id="maincontent">', $content);
$expl2 = explode('</span>', end($expl1));
$result = $expl2[0];
echo $result; // OUTPUT: Lorem Ipsum Dolor Sit Amet...
?>
$content = file_get_contents("http://website.be");
$expl1 = explode('id="maincontent">', $content);
$expl2 = explode('</span>', end($expl1));
$result = $expl2[0];
echo $result; // OUTPUT: Lorem Ipsum Dolor Sit Amet...
?>
NOTE: Nog niet gestest maar zou moeten werken
Of de iets mooiere oplossing :
Give or take bij de regexp
Thanks :D (soms ben je uren aan het zoeken en vind je de oplossing niet en dan is het goed dat er anderen zijn :D)
Nice Jacco, zelf gebruik ik nooit preg_match() xD.. Is naar de documentatie op php.net kijken xd
explode() vind niet wat wij als zoekopdracht hebben gegeven, kunnen we er dan ook voor zorgen dat hij wat returnt zoals fout of FLASE ofzo...
Gewijzigd op 01/01/1970 01:00:00 door ruliezz
Maar waar moet hij $matches en $lines vandaan halen ?
andy
andytjuh schreef op 10.07.2009 00:48:
Heel mooi die kleine fijne script
Maar waar moet hij $matches en $lines vandaan halen ?
andy
Maar waar moet hij $matches en $lines vandaan halen ?
andy
Gaat om het voorbeeld.
Ja ok maar dan zou het nog fijn zijn als het er wel bij stond mischien snapt die kerel het wel niet wat je voor die 2 Variabelen moet zetten
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$content = file_get_contents('websitelink');
if(preg_match('/\<span(.+)\>(.*)\<\/span\>$/', $content, $matches))
{
echo 'Gevonden. Resultaten staan in $matches.';
}
else
{
echo 'Geen resultaten gevonden.';
}
?>
$content = file_get_contents('websitelink');
if(preg_match('/\<span(.+)\>(.*)\<\/span\>$/', $content, $matches))
{
echo 'Gevonden. Resultaten staan in $matches.';
}
else
{
echo 'Geen resultaten gevonden.';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
De functie preg_match is er super cool, alleen facking moeilijk om te begrijpen hoorde ik van een andere programmeur. Ik ga er wel even in verdiepen want dat is wel wat mooier. Een andere programmeur zei tegen mij waarom werk je niet met DOM? xmldoc? Dan krijg je het nog mooier.
Klaasjan Boven bedankt voor het voorbeeld en heb het ff geprobeeert, maar dit werkt toch niet. Want als hij niet het ene vind waar op hij explode dan spugt hij andere tekst.... is er niet iets met php als LIKE of FOUND ofzo
Gewijzigd op 01/01/1970 01:00:00 door ruliezz