**/ function bel_env($env, $afficher_en_clair = false) { if (!$afficher_en_clair) { $env = str_replace(['"', '''], ['"', '\''], $env); } if (is_array($env_tab = @unserialize($env))) { $env = $env_tab; } if (!is_array($env)) { return ''; } $style = " style='border:1px solid #ddd;'"; $res = "\n"; foreach ($env as $nom => $val) { if (is_array($val) || is_array(@unserialize($val))) { $val = bel_env($val, $afficher_en_clair); } elseif (($val === null) and $afficher_en_clair) { $val = 'null'; } elseif (($val === '') and $afficher_en_clair) { $val = "''"; } elseif (($val === true) and $afficher_en_clair) { $val = 'true'; } elseif (($val === false) and $afficher_en_clair) { $val = 'false'; } else { $val = entites_html($val); } $res .= "\n" . entites_html($nom) . " : " . $val . "\n\n"; } $res .= '
'; return $res; } /** * Afficher un bloc de code informatique avec coloration syntaxique si possible. * * Retours : * - sans plugin :

 * - avec plugin version PrismJS : 

 * - avec plugin version Geshi : 
* * @param string $texte * @param string $language * Type de code : html | spip * @return string */ function filtre_dev_afficher_code_dist(string $texte, string $language = ''): string { include_spip('inc/utils'); $fn_coloration_geshi = (function_exists('coloration_code_color') ? 'coloration_code_color' : null); $class_pre_color = (test_plugin_actif('coloration_code') ? 'avec-prism' : 'brut'); $language_defaut = ($fn_coloration_geshi ? 'html5' : 'html'); $language = $language ?: $language_defaut; // Avec coloration Geshi if ($fn_coloration_geshi) { $texte = $fn_coloration_geshi($texte, $language); // Avec ou sans coloration Prism } else { include_spip('inc/filtres'); $texte = "
" . entites_html(trim($texte)) . '
'; } return $texte; }