(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
output_add_rewrite_var — Ajoute une règle de réécriture d'URL
Cette fonction démarre le gestionnaire de tampon de sortie 'URL-Rewriter'
s'il n'est pas actif, stocke les paramètres name
et value
, et lorsque le tampon est vidé, réécrit les URLs et les formulaires en fonction des paramètres ini applicables. Les appels ultérieurs à cette fonction stockeront toutes les paires nom/valeur supplémentaires jusqu'à ce que le gestionnaire soit désactivé.
Lorsque le tampon de sortie est vidé (en appelant ob_flush(), ob_end_flush(), ob_get_flush() ou à la fin du script), le gestionnaire 'URL-Rewriter'
ajoute les paires nom/valeur en tant que paramètres de requête aux URLs dans les attributs des balises HTML et ajoute des champs cachés aux formulaires en fonction des valeurs des directives de configuration url_rewriter.tags et url_rewriter.hosts.
Chaque paire nom/valeur ajoutée au gestionnaire 'URL-Rewriter'
est ajoutée aux URLs et/ou formulaires même si cela résulte en des paramètres de requête d'URL dupliqués ou des éléments avec les mêmes attributs de nom.
Note: Une fois que le gestionnaire
'URL-Rewriter'
a été désactivé, il ne peut pas être redémarré.
name
Le nom de la variable.
value
La valeur de la variable.
Version | Description |
---|---|
7.1.0 | À partir de PHP 7.1.0, un tampon de sortie dédié est utilisé, url_rewriter.tags est utilisé uniquement pour les fonctions de sortie et url_rewriter.hosts est disponible. Antérieur à PHP 7.1.0, les variables de réécriture définies par output_add_rewrite_var() partageaient un tampon de sortie avec la prise en charge transparente de l'ID de session (voir session.trans_sid_tags). |
Exemple #1 Exemple avec output_add_rewrite_var()
<?php
ini_set('url_rewriter.tags', 'a=href,form=');
output_add_rewrite_var('var', 'value');
// Quelques liens
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';
// un formulaire
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';
print_r(ob_list_handlers());
?>
L'exemple ci-dessus va afficher :
<a href="file.php?var=value">link</a> <a href="http://example.com">link2</a> <form action="script.php" method="post"> <input type="hidden" name="var" value="value" /> <input type="text" name="var2" /> </form> Array ( [0] => URL-Rewriter )