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 回答