Skip to content
Extraits de code Groupes Projets
Valider 905f9575 rédigé par cerdic's avatar cerdic Validation de marcimat
Parcourir les fichiers

refactor: caster les fonctions d'analyse de boucle et la fonction principale...

refactor: caster les fonctions d'analyse de boucle et la fonction principale public_phraser_html_dist()
parent f3f3fad3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -904,13 +904,13 @@ function public_compte_ligne($texte, $debut = 0, $fin = null) { ...@@ -904,13 +904,13 @@ function public_compte_ligne($texte, $debut = 0, $fin = null) {
* On repere les boucles via <BOUCLE_xxx( * On repere les boucles via <BOUCLE_xxx(
* et ensuite on regarde son vrai debut soit <B_xxx> soit <BB_xxx> * et ensuite on regarde son vrai debut soit <B_xxx> soit <BB_xxx>
* *
* @param $texte * @param string $texte
* @param $id_parent * @param string $id_parent
* @param $descr * @param $descr
* @param int $pos_debut_texte * @param int $pos_debut_texte
* @return array|null * @return ?array
*/ */
function public_trouver_premiere_boucle($texte, $id_parent, $descr, $pos_debut_texte = 0) { function public_trouver_premiere_boucle(string $texte, string $id_parent, $descr, int $pos_debut_texte = 0): ?array {
$premiere_boucle = null; $premiere_boucle = null;
$pos_derniere_boucle_anonyme = $pos_debut_texte; $pos_derniere_boucle_anonyme = $pos_debut_texte;
...@@ -998,14 +998,15 @@ function public_trouver_premiere_boucle($texte, $id_parent, $descr, $pos_debut_t ...@@ -998,14 +998,15 @@ function public_trouver_premiere_boucle($texte, $id_parent, $descr, $pos_debut_t
* Trouver la fin de la boucle (balises </B <//B </BB) * Trouver la fin de la boucle (balises </B <//B </BB)
* en faisant attention aux boucles anonymes qui ne peuvent etre imbriquees * en faisant attention aux boucles anonymes qui ne peuvent etre imbriquees
* *
* @param $texte * @param string $texte
* @param $id_parent * @param string $id_parent
* @param $boucle * @param array $boucle
* @param $pos_debut_texte * @param int $pos_debut_texte
* @param $result * @param object $result
* @return mixed * @return array
* la description de la boucle dans un tableau associatif
*/ */
function public_trouver_fin_boucle($texte, $id_parent, $boucle, $pos_debut_texte, $result) { function public_trouver_fin_boucle(string $texte, string $id_parent, array $boucle, int $pos_debut_texte, $result): array {
$id_boucle = $boucle['id_boucle']; $id_boucle = $boucle['id_boucle'];
$pos_courante = $pos_debut_texte; $pos_courante = $pos_debut_texte;
...@@ -1076,7 +1077,7 @@ function public_trouver_fin_boucle($texte, $id_parent, $boucle, $pos_debut_texte ...@@ -1076,7 +1077,7 @@ function public_trouver_fin_boucle($texte, $id_parent, $boucle, $pos_debut_texte
* @param null|string $boucle_placeholder * @param null|string $boucle_placeholder
* @param null|object $boucle * @param null|object $boucle
*/ */
function phraser_boucle_placeholder(&$champ, $boucle_placeholder = null, $boucle = null) { function phraser_boucle_placeholder(&$champ, ?string $boucle_placeholder = null, $boucle = null) {
static $boucles_connues = []; static $boucles_connues = [];
// si c'est un appel pour memoriser une boucle, memorisons la // si c'est un appel pour memoriser une boucle, memorisons la
if (is_string($champ) && !empty($boucle_placeholder) && !empty($boucle)) { if (is_string($champ) && !empty($boucle_placeholder) && !empty($boucle)) {
...@@ -1103,7 +1104,7 @@ function phraser_boucle_placeholder(&$champ, $boucle_placeholder = null, $boucle ...@@ -1103,7 +1104,7 @@ function phraser_boucle_placeholder(&$champ, $boucle_placeholder = null, $boucle
* @param int $nb_lignes * @param int $nb_lignes
* @return string * @return string
*/ */
function public_generer_boucle_placeholder($id_boucle, &$boucle, $boucle_placeholder, $nb_lignes) { function public_generer_boucle_placeholder(string $id_boucle, &$boucle, string $boucle_placeholder, int $nb_lignes): string {
$placeholder = "[(#{$boucle_placeholder}{" . $id_boucle . '})' . str_pad('', $nb_lignes, "\n") . ']'; $placeholder = "[(#{$boucle_placeholder}{" . $id_boucle . '})' . str_pad('', $nb_lignes, "\n") . ']';
//memoriser la boucle a reinjecter //memoriser la boucle a reinjecter
$id_boucle = "$id_boucle"; $id_boucle = "$id_boucle";
...@@ -1111,7 +1112,21 @@ function public_generer_boucle_placeholder($id_boucle, &$boucle, $boucle_placeho ...@@ -1111,7 +1112,21 @@ function public_generer_boucle_placeholder($id_boucle, &$boucle, $boucle_placeho
return $placeholder; return $placeholder;
} }
function public_phraser_html_dist($texte, $id_parent, &$boucles, $descr, $ligne_debut_texte = 1, $boucle_placeholder = null) { /**
* Analyseur syntaxique des squelettes HTML SPIP
* On commence par analyser les boucles, les mémoriser, et les remplacer dans le texte par des placeholder
* qui ne genent pas la suite de l'analyse des balises et autres
*
* @param string $texte
* @param string $id_parent
* @param array $boucles
* @param $descr
* @param int $ligne_debut_texte
* @param string|null $boucle_placeholder
* @return array
* @throws JsonException
*/
function public_phraser_html_dist(string $texte, string $id_parent, array &$boucles, $descr, int $ligne_debut_texte = 1, ?string $boucle_placeholder = null): array {
$all_res = []; $all_res = [];
// definir un placholder pour les boucles dont on est sur d'avoir aucune occurence dans le squelette // definir un placholder pour les boucles dont on est sur d'avoir aucune occurence dans le squelette
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter