Maison >développement back-end >Problème PHP >Comment obtenir uniquement le contenu textuel de l'article en php

Comment obtenir uniquement le contenu textuel de l'article en php

藏色散人
藏色散人original
2022-11-30 09:10:536046parcourir

Comment obtenir uniquement le contenu texte de l'article en php : 1. Créez un exemple de fichier PHP ; 2. Définissez la "fonction curl_request ( $url , $post = '' , $cookie = '' , $returnCookie = 0 ) {.. .}" La méthode ne peut capturer que le contenu textuel de la page Web et filtrer ses balises.

Comment obtenir uniquement le contenu textuel de l'article en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

Comment obtenir uniquement le contenu texte de l'article en php ?

php récupère uniquement le contenu textuel du corps de la page Web et filtre les balises de la page Web

php récupère uniquement le contenu textuel de la page Web et filtre ses balises, faites-le et commencez !

Le code est le suivant :

<?php
 function curl_request ( $url , $post = &#39;&#39; , $cookie = &#39;&#39; ,  $returnCookie = 0 ) {
     $ua = $ua==&#39;&#39;?$_SERVER [&#39;HTTP_USER_AGENT&#39;]:&#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)&#39; ;
            $curl  =  curl_init ( ) ;
            curl_setopt ( $curl , CURLOPT_URL ,  $url ) ;
            curl_setopt ( $curl , CURLOPT_USERAGENT , $ua ) ;
            curl_setopt ( $curl , CURLOPT_FOLLOWLOCATION ,  1 ) ;
            curl_setopt ( $curl , CURLOPT_AUTOREFERER ,  1 ) ;
            curl_setopt ( $curl , CURLOPT_REFERER ,  "https://www.baidu.com" ) ;
            if ( $post )  {
                 curl_setopt ( $curl , CURLOPT_POST ,  1 ) ;
                 curl_setopt ( $curl , CURLOPT_POSTFIELDS ,  http_build_query ( $post ) ) ;
            }
            if ( $cookie )  {
                 curl_setopt ( $curl , CURLOPT_COOKIE ,  $cookie ) ;
            }
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt ( $curl , CURLOPT_HEADER ,  $returnCookie ) ;
            curl_setopt ( $curl , CURLOPT_TIMEOUT ,  10 ) ;
            curl_setopt ( $curl , CURLOPT_RETURNTRANSFER ,  1 ) ;
            $data  =  curl_exec ( $curl ) ;
            if  ( curl_errno ( $curl ) )  {
                 return  curl_error ( $curl ) ;
            }
            curl_close ( $curl ) ;
            if ( $returnCookie ) {
                 list ( $header ,  $body )  =  explode ( "\r\n\r\n" ,  $data ,  2 ) ;
                 preg_match_all ( "/Set\-Cookie:([^;]*);/" ,  $header ,  $matches ) ;
                 $info [ &#39;cookie&#39; ]   =  substr ( $matches [ 1 ] [ 0 ] ,  1 ) ;
                 $info [ &#39;content&#39; ]  =  $body ;
                 return  $info ;
            } else {
                 //return  $data ;
                 $data=mb_convert_encoding($data, &#39;UTF-8&#39;, &#39;UTF-8,GBK,GB2312,BIG5&#39;);
                preg_match("/<body.*?>(.*?)<\/body>/is",$data,$match);
                $str= trim($match[1]);
      $html = strip_tags($str);
    $html_len = mb_strlen($html,&#39;UTF-8&#39;);
    $html = mb_substr($html, 0, strlen($html), &#39;UTF-8&#39;);
    $search = array(" "," ","\n","\r","\t");
    $replace = array("","","","","");
    echo str_replace($search, $replace, $html);
            }
}
curl_request ( $url, $post = &#39;&#39; , $cookie = &#39;&#39; ,  $returnCookie = 0 );
?>

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn