Maison > Questions et réponses > le corps du texte
À 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>
pre>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
仅有的幸福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]));
阿神2017-05-16 13:08:41
1. https://github.com/bupt1987/h...
2.
.
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);