Bonjour,
je veux faire un programme en PHP qui permet d'extraire du texte brut à partir des articles mis en ligne.
et merci d'avance.
Bonjour,
je veux faire un programme en PHP qui permet d'extraire du texte brut à partir des articles mis en ligne.
et merci d'avance.
Facile !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 function html2txt($html){ $search = array('@<script[^>]*?>.*?</script>@si', '@<style[^>]*?>.*?</style>@siU', '@<[\/\!]*?[^<>]*?>@si', '@<![\s\S]*?--[ \t\n\r]*>@' ); $clean = preg_replace($search, '', $html); return $clean; } $articles = array( 'http://google.fr' ); foreach($articles as $article){ $html = file_get_contents($article); $text = html2txt($html); printf('<div>%s</div>', $text); }
encore plus facile : strip_tags
J'ai trouvé cette solution avec curl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 function recuperer_page_http($url, $timeout = 10, $nom_local = '', $post = NULL) { if (extension_loaded('curl')) { $ch = curl_init($url); // configuration des options curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_PROXY, "insérer le proxy"); -- optionnel curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); /*On indique à curl de suivre les redirections par le header http location*/ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if ($nom_local) { $fp = fopen($nom_local, 'w') or die("Le fichier '$nom_local' n'a pu être ouvert en écriture"); curl_setopt($ch, CURLOPT_FILE, $fp); } else { curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); } if ($post) { curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } $ret = curl_exec($ch); if ($nom_local) { fclose($fp); } if ($ret === FALSE) { die("Une erreur a été rencontrée : " . curl_error($ch)); } curl_close($ch); return $ret; } else { die("Erreur lors de l'utilisation de la biblio CURL"); } }
bien joué t'as recrée la fonction copy ...
strip_tags a des comportements bizzares desfois (lorsque le HTML est invalide par exemple) : http://fr.php.net/manual/fr/function...ags.php#100995
Je préfère une solution simple qui supprime les tags et laisse le texte.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager