Von PHP 7.1.0 an verwenden output_add_rewrite_var() und output_reset_rewrite_vars() einen eigenen Ausgabepuffer. D.h. der trans sid Ausgabepuffer wird von diesen Funktionen nicht mehr verwendet.
Beispiel #1 URL-Rewriter-Beispiel
<?php
// Dieser Code funktioniert mit PHP 7.1.0, 7.0.10, 5.6.25 und höher.
// HTTP_HOST ist der Standard-Zielhost. Wir setzen ihn händisch, damit das Beispiel funktioniert.
$_SERVER['HTTP_HOST'] = 'php.net';
// Der URL-Rewriter soll nur form und a=href umschreiben.
// Elemente können durch tag_name=url_attr angegeben werden, z.B. img=src,iframe=src
// Zwischen diesen Angaben sind keine Leerzeichen erlaubt.
// Das Form-Element ist besonders, da ihm ein verstecktes Eingabefeld hinzugefügt wird.
ini_set('url_rewriter.tags','a=href,form=');
var_dump(ini_get('url_rewriter.tags'));
// Dies wird zu URL und dem Form-Element hinzugefügt
output_add_rewrite_var('test', 'value');
?>
<a href="//php.net/index.php?bug=1234">bug1234</a>
<form action="https://php.net/?bug=1234&edit=1" action="post">
<input type="text" name="title" />
</form>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<a href="//php.net/?bug=1234&test=value">bug1234</a> <form action="https://php.net/?bug=1234&edit=1" method="post"><input type="hidden" name="test" value="value" /> <input type="text" name="title" /> </form>
Von PHP 7.1.0 haben die URL-Rewriter-Funktionen eigene INI Einstellungen: url_rewriter.tags und url_rewriter.hosts.