<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/outcontrol.examples.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'outcontrol.examples.rewrite.php',
    1 => '出力リライトの使用法',
    2 => '出力リライトの使用法',
  ),
  'up' => 
  array (
    0 => 'outcontrol.examples.php',
    1 => '例',
  ),
  'prev' => 
  array (
    0 => 'outcontrol.examples.basic.php',
    1 => '基本的な使用法',
  ),
  'next' => 
  array (
    0 => 'ref.outcontrol.php',
    1 => '出力制御 関数',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/outcontrol/examples.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="outcontrol.examples.rewrite" class="section">
  <h2 class="title">出力リライトの使用法</h2>
  <p class="para">
   PHP 7.1.0 以降は、<span class="function"><a href="function.output-add-rewrite-var.php" class="function">output_add_rewrite_var()</a></span> と <span class="function"><a href="function.output-reset-rewrite-vars.php" class="function">output_reset_rewrite_vars()</a></span>
   は専用の出力バッファを用いるようになります。<a href="session.configuration.php#ini.session.use-trans-sid" class="link">透過的セッションID</a> の出力バッファは用いません。
  </p>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>例1 出力リライトの例</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// このコードは PHP 7.1.0, 7.0.10, 5.6.25 以降で動作します<br /><br />// HTTP_HOST はデフォルトのターゲットホストです。適切に書き換えてください<br /></span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_HOST'</span><span style="color: #007700">] = </span><span style="color: #DD0000">'php.net'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// 出力リライトはフォームだけを書き換えます。a=href を追加します。<br />// タグは tag_name=url_attr 形式で指定します。たとえば img=src,iframe=src のようになります。<br />// 各設定の間にスペースを含めることはできません。<br />// form タグは特別なタグで、hidden を追加します。<br /></span><span style="color: #0000BB">ini_set</span><span style="color: #007700">(</span><span style="color: #DD0000">'url_rewriter.tags'</span><span style="color: #007700">,</span><span style="color: #DD0000">'a=href,form='</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">ini_get</span><span style="color: #007700">(</span><span style="color: #DD0000">'url_rewriter.tags'</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// これが URL と form に追加されます<br /></span><span style="color: #0000BB">output_add_rewrite_var</span><span style="color: #007700">(</span><span style="color: #DD0000">'test'</span><span style="color: #007700">, </span><span style="color: #DD0000">'value'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;a href="//php.net/index.php?bug=1234"&gt;bug1234&lt;/a&gt;<br />&lt;form action="https://php.net/?bug=1234&amp;edit=1" method="post"&gt;<br /> &lt;input type="text" name="title" /&gt;<br />&lt;/form&gt;</span></code></div>
    </div>

    <div class="example-contents"><p>上の例の出力は以下となります。</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
&lt;a href=&quot;//php.net/?bug=1234&amp;test=value&quot;&gt;bug1234&lt;/a&gt;
&lt;form action=&quot;https://php.net/?bug=1234&amp;edit=1&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;test&quot; value=&quot;value&quot; /&gt;
 &lt;input type=&quot;text&quot; name=&quot;title&quot; /&gt;
&lt;/form&gt;
</pre></div>
    </div>
   </div>
  </p>
  <p class="para">
   PHP 7.1.0 以降、出力リライトにはそれ専用の INI 項目が用意されるようになりました。
   <a href="outcontrol.configuration.php#ini.url-rewriter.tags" class="link">url_rewriter.tags</a> と <a href="outcontrol.configuration.php#ini.url-rewriter.hosts" class="link">url_rewriter.hosts</a> です。
  </p>
 </div><?php manual_footer($setup); ?>