<?php
|
/*---------------------------------------------------------------*/
|
/*
|
Titre : Extrait que le texte d'une page web
|
|
URL : https://phpsources.net/code_s.php?id=841
|
Date édition : 14 Fév 2019
|
Date mise à jour : 01 Sept 2019
|
Rapport de la maj:
|
- fonctionnement du code vérifié
|
*/
|
/*---------------------------------------------------------------*/
|
|
function gettextfromurl($url){
|
$texte = join("", file($url));
|
|
// suppression des commentaires HTML
|
$texte = preg_replace("/<!--.*?-->/is", "", $texte);
|
|
// suppression des lignes modes windows et Mac. Tout en UNIX
|
$texte = preg_replace("/\r/is", "\n", $texte);
|
|
// quelques balises spéciales
|
$texte = preg_replace("/<SCRIPT[^>]*>.*?<\/script>/is", "", $texte);
|
$texte = preg_replace("/<noSCRIPT[^>]*>.*?<\/noscript>/is", "", $texte);
|
$texte = preg_replace("/<style[^>]*>.*?<\/style>/is", "", $texte);
|
$texte = preg_replace("/<textarea[^>]*>.*?<\/textarea>/is", "", $texte);
|
|
// suppression des points multiples
|
$texte = preg_replace("/\.+/is", ".", $texte);
|
|
//remplacement des entites HTML
|
$texte = preg_replace("/&(.)[^;]*;/is", "$1", $texte);
|
|
$texte = preg_replace("/<(br|P)/is", "\n", $texte);
|
|
// suppression de TOUTES les balises restantes
|
$texte = strip_tags($texte);
|
|
// Les caractères multiples sont en trop
|
$texte = preg_replace("/[ \t]+/is", " ", $texte);
|
$texte = preg_replace("/ +\n/is", "\n", $texte);
|
$texte = preg_replace("/\n +/is", "\n", $texte);
|
$texte = preg_replace("/\n+/is", "\n", $texte);
|
|
|
return $texte;
|
}
|
?>
|
|
|