Maison > développement back-end > Problème PHP > Comment obtenir un tableau de balises php

Comment obtenir un tableau de balises php

PHPz
Libérer: 2023-04-23 15:07:51
original
443 Les gens l'ont consulté

En PHP, vous pouvez utiliser des tableaux pour stocker et traiter plusieurs types de données similaires. Parfois, nous souhaitons obtenir un tableau contenant des balises PHP. Dans cet article, nous allons explorer comment obtenir un tableau de balises PHP.

  1. Utilisation d'expressions régulières

L'utilisation d'expressions régulières est un moyen courant d'obtenir un tableau de balises PHP. Les balises PHP commencent par "". Vous pouvez utiliser des expressions régulières pour rechercher toutes les balises PHP.

Voici l'exemple de code :

// 获取 PHP 标签
$fileContent = file_get_contents('filename.php');
preg_match_all("/<\?php(.*?)\?>/s", $fileContent, $matches);
$phpTagsArray = $matches[0];
Copier après la connexion

Ce code ouvrira un fichier nommé "filename.php" et stockera son contenu sous forme de chaîne dans la variable "$fileContent". Ensuite, utilisez l'expression régulière "//s" pour faire correspondre toutes les balises PHP. Enfin, les balises PHP correspondantes sont stockées dans le tableau "$phpTagsArray".

  1. Utilisation des fonctions intégrées de PHP

PHP fournit des fonctions intégrées pour traiter les chaînes, et vous pouvez utiliser ces fonctions pour obtenir le tableau de balises PHP. L'une de ces fonctions est "exploser()".

Voici un exemple de code :

// 获取 PHP 标签
$fileContent = file_get_contents('filename.php');
$phpTagsArray = explode('<?php&#39;, $fileContent);
array_shift($phpTagsArray);
foreach($phpTagsArray as &$phpTag){
    $phpTag = "<?php".$phpTag;
}
Copier après la connexion

Ce code utilise d'abord la fonction "file_get_contents()" pour lire le contenu du fichier dans la chaîne "$fileContent". Ensuite, utilisez la fonction "explode()" pour couper la chaîne selon "

  1. Utilisez des bibliothèques tierces

En plus d'utiliser des expressions régulières et des fonctions intégrées PHP, vous pouvez également utiliser certaines bibliothèques tierces pour obtenir des tableaux de balises PHP. Par exemple, vous pouvez utiliser la bibliothèque "php-parser".

Voici l'exemple de code :

// 获取 PHP 标签
require &#39;vendor/autoload.php&#39;;
use PhpParser\ParserFactory;
$parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
$code = file_get_contents('filename.php');
$ast = $parser->parse($code);
$printer = new PhpParser\PrettyPrinter\Standard();
$phpTagsArray = array();
foreach ($ast as $node) {
    if($node instanceof PhpParser\Node\Stmt\InlineHTML){
        $phpTagsArray[] = $printer->prettyPrint(array($node));
    }
}
Copier après la connexion

Ce code charge d'abord la bibliothèque "php-parser" puis crée un nouvel objet analyseur à l'aide de la fonction "ParserFactory()". La fonction "file_get_contents()" stocke le contenu du fichier lu dans la variable "$code". Ensuite, le code est analysé à l'aide de l'objet analyseur "$parser" et le résultat est stocké dans la variable "$ast". Enfin, parcourez chaque nœud PHP et convertissez le nœud en une chaîne imprimable. Stockez les résultats dans le tableau "$phpTagsArray".

Résumé :

Il existe de nombreuses façons d'obtenir le tableau de balises PHP, notamment en utilisant des expressions régulières, en utilisant les fonctions intégrées de PHP et en utilisant des bibliothèques tierces. La méthode que vous choisissez dépend de vos habitudes de programmation et des besoins du projet. Quelle que soit la méthode que vous choisissez, vous devez choisir celle qui correspond le mieux à vos besoins et vous assurer que votre code peut gérer toutes les situations possibles.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal