0

こんにちは、私はstr_replace ();PHP の機能を使用して望ましい結果を得ることができません。

私のコードは次のようなものです:

<?php ob_start (); /* Start Buffering */

$layout = 'climate';

?>

<div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc pellentesque.</p>

<img src="images/industry/pic1.jpg"/>
<img src="products/images/industry/pic2.jpg"/>
<img src="samples/products/images/industry/pic3.jpg"/>

</div>

<?php ob_get_contents();  /* Get the Buffer */

$content = str_replace('/desktop/', $layout . '/images/', $layout);

echo $content;

ob_end_flush (); /* Send Output to the browser */

?>

ここで私がやろうとしているのは、ページ全体を生成してから、生成されたページを取得して、そのパス内の特定の単語を置き換えたいということです。最後に、バッファをブラウザに送信します。

ご注意ください:

私はPHP に非常に慣れていないため、このコードを正しい構文に修正するのを手伝ってくれるよう依頼してください。

出力内のこれらのパスは、使用している CMS によって生成されるため、制御できません。

変数への値$layoutは、別の PHP 関数によって割り当てられます。混乱を避けるために、そのスニペットについては言及しませんでした。

私のテーマは非 JavaScriptであるため、JavaScript を使用するつもりはありません。

望ましい出力:

ブラウザに送信する前に、ページ全体/industry/の値に置き換えたいです。/$layout/

<div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc pellentesque.</p>

<img src="images/climate/pic1.jpg"/>
<img src="products/images/climate/pic2.jpg"/>
<img src="samples/products/images/climate/pic3.jpg"/>

</div>

最後に:

これよりも優れていると思われる場合は、他の解決策を提案してください。

4

1 に答える 1

2

バッファを取得して で閉じob_get_clean()、置換を行って をエコーする$contentと、ブラウザに送信されます。

$content = ob_get_clean();  
$content = str_replace('/industry/', '/' . $layout . '/', $content);
echo $content;
于 2012-12-06T13:29:52.047 に答える