(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
output_add_rewrite_var — Añade una regla de reescritura de URL
Esta función inicia el gestor de búfer de salida 'URL-Rewriter'
si no está activo,
almacena los argumentos name
y value
,
y cuando el búfer se vacía, reescribe las URLs
y los formularios según los argumentos ini aplicables.
Las llamadas posteriores a esta función almacenarán todas las parejas nombre/valor
adicionales hasta que el gestor sea desactivado.
Cuando el búfer de salida se vacía
(al llamar a ob_flush(), ob_end_flush(),
ob_get_flush() o al final del script),
el gestor 'URL-Rewriter'
añade las parejas nombre/valor
como argumentos de consulta a las URLs en los atributos de las etiquetas HTML
y añade campos ocultos a los formularios según los valores de
las directivas de configuración url_rewriter.tags y
url_rewriter.hosts.
Cada pareja nombre/valor añadida al gestor 'URL-Rewriter'
se añade a las URLs y/o formularios
incluso si esto resulta en argumentos de consulta de URL duplicados
o elementos con los mismos atributos de nombre.
Nota: Una vez que el gestor
'URL-Rewriter'
ha sido desactivado, no puede ser reiniciado.
Antes de PHP 8.4.0, los hosts a reescribir se definían en session.trans_sid_hosts en lugar de url_rewriter.hosts.
name
El nombre de la variable.
value
El valor de la variable.
Versión | Descripción |
---|---|
7.1.0 | A partir de PHP 7.1.0, se utiliza un búfer de salida dedicado, url_rewriter.tags se utiliza únicamente para las funciones de salida y url_rewriter.hosts está disponible. Anterior a PHP 7.1.0, las variables de reescritura definidas por output_add_rewrite_var() compartían un búfer de salida con el soporte transparente del ID de sesión (ver session.trans_sid_tags). |
Ejemplo #1 Ejemplo con output_add_rewrite_var()
<?php
ini_set('url_rewriter.tags', 'a=href,form=');
output_add_rewrite_var('var', 'value');
// Algunos enlaces
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';
// un formulario
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';
print_r(ob_list_handlers());
?>
El resultado del ejemplo sería:
<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 )