recherche

Maison  >  Questions et réponses  >  le corps du texte

Expression régulière - Comment obtenir le contenu d'un élément HTML en PHP

À l'heure actuelle, je l'implémente au moyen de règles régulières copiées sur Internet, mais il ne parvient pas à obtenir l'effet souhaité.

Mon forfait actuel est :

 $text=file_get_contents('404.html');
 preg_match('/<time[^>]*itemprop=\"datePublished\".*?>.*?<\/time>/ism',$text,$match);
imprimer($match[0]); 

Mais le contenu final de la sortie est

<time datetime="2017-02-20T18:41:00+08:00" itemprop="datePublished">20 février 2017</time>

Ce que je veux, c'est sortir le 20 février 2017, ce qui est le contenu du motif, mais je ne comprends pas les règles habituelles et je suis complètement confus après avoir lu l'encyclopédie. Comment y parvenir ? Ou comment écrire l'expression régulière pour afficher le contenu

为情所困为情所困2822 Il y a quelques jours560

répondre à tous(3)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-16 13:08:41

    Cette fois, c'est similaire aux balises html. Vous pouvez utiliser la fonction de suppression de balises html de PHP pour supprimer les balises imbriquées et tout ira bien. Jetez un œil au code ci-dessous et essayez d'utiliser la fonction de suppression de balises strip_tags(). Pour une utilisation plus spécifique, vous pouvez consulter le manuel.

    $text=file_get_contents('404.html');
     preg_match('/<time[^>]*itemprop=\"datePublished\".*?>.*?<\/time>/ism',$text,$match); 
    print(strip_tags($match[0])); 

    répondre
    0
  • 阿神

    阿神2017-05-16 13:08:41

    1. https://github.com/bupt1987/h...
    2.

    Nous recommandons directement deux php pour analyser le HTML, similaires à jQuery. Les utilisateurs peuvent lire les éléments HTML

    .

    répondre
    0
  • PHPz

    PHPz2017-05-16 13:08:41

    strip_tags est une fonction de php, utilisée pour supprimer les balises html dans les chaînes, vous pouvez donc utiliser strip_tags ici. Puisque vous utilisez des expressions régulières, vous pouvez également utiliser des expressions régulières directement pour optimiser le programme. Veuillez consulter les règles ci-dessous

    preg_match('/<time[^>]*itemprop=\"datePublished\".*?>(.*?)<\/time>/ism',$text,$match);
    print_r($match); 

    répondre
    0
  • Annulerrépondre