Obtenir du contenu à partir d'une url à l'aide de php
Je veux obtenir le contenu dynamique à partir d'une url particulière:
J'ai utilisé le code
echo $content=file_get_contents('http://www.punoftheday.com/cgi-bin/arandompun.pl');
J'obtiens les résultats suivants:
document.write('"Bakers have a great knead to make bread."
') document.write('© 1996-2007 Pun of the Day.com
')
Comment puis-je obtenir de la chaîne Boulangers ont une grande pétrir pour faire du pain.
Chaîne de caractères à l'intérieur du premier document.écrire va changer, d'autres code restera constante
Ce qui concerne,
Pankaj
double possible de obtenir l'url de contenu PHP
OriginalL'auteur Pankaj Khurana | 2010-02-01
Vous devez vous connecter pour publier un commentaire.
Vous êtes aller chercher un bout de code JavaScript qui est censé être construit directement dans le document, pas interrogé par un script. Le code de l'intérieur est en JavaScript.
Vous pourrait retirer le code à l'aide d'une expression régulière, mais je ne vous le conseille. Tout d'abord, ce n'est probablement pas légal de le faire. Deuxièmement, le format des données qu'ils servent peut changer à tout moment, la rupture de votre script.
Je pense que vous devriez prendre au leur flux RSS. Vous pouvez analyser que par programmation plus facile que le JavaScript.
Découvrez cette question sur la façon de le faire: Meilleure façon d'analyser les flux RSS/Atom avec PHP
Je pense que la lecture de flux RSS, et en affichant uniquement le premier élément devrait faire l'affaire!
Mais je veux afficher les différents jeux de mots s'il cliquez sur actualiser.
Il est également facile à atteindre par la sélection aléatoire du jeu de mots à partir du flux RSS. Il n'est pas possible avec la JS solution car elle ne montre que le jeu de mots de la journée.
Je suis en utilisant ce code $xml = simplexml_load_file("feeds.feedburner.com/PunOfTheDay"); $articles = count($xml->canal->item); echo $rand=rand(0,$articles-1); $description = $xml->canal->item[$rand]->description; echo str_replace('[Cliquez pour Voter!]',",$description), c'est la bonne approche
OriginalL'auteur Pekka 웃
1) plusieurs méthodes locales
2) Meilleure Façon est de CURL:
AVIS:, Il gère automatiquement FOLLOWLOCATION problème + Télécommande url sont automatiquement re-corrigé! ( src="./imageblabla.png" --------> src="http://example.com/path/imageblabla.png" )
p.s.sur la distribution GNU/Linux serveurs, vous devrez peut-être installer le
php5-curl
package à utiliser.oui, curl est le meilleur, car il dispose de nombreuses options, en plus il n'est pas désactivé sur de nombreux hébergements.
OriginalL'auteur T.Todua
Pekka la réponse est probablement la meilleure façon de le faire. Mais de toute façon, voici la regex que vous souhaitez utiliser dans le cas où vous trouver vous-même faire quelque chose comme cela, et ne pouvez pas compter sur les flux RSS, etc.
MODIFIER par exemple:
J'ai édité ma réponse, j'espère que ça aide.
Merci mais c'est donnant Warning: preg_match() [function.preg-match]: Inconnu modificateur 'g' Suppression de g donne des résultats corrects.
ok, je suppose que j'ai oublié comment php regex de la mise en œuvre de travaux
OriginalL'auteur Luca Matteis