在 joomla 上用绝对图像替换相对图像 src

问题描述 投票:0回答:1

我需要邮寄一些存储在数据库中的html代码。

为了让图像也显示出来,我需要将相对路径替换为绝对路径。

我有一个名为 $display 的变量,它保存 HTML。

为此,我尝试以下方法:

$root=JURI::root();
 str_replace('src="/images', 'src="' . $root .'images', $display); 

var_dump($display);//for testing

$display 似乎根本没有改变。

更新1

我被建议将代码更改为:

$root=JURI::root();
$display = str_replace('src="/images', 'src="' . $root .'images', $display)

我也尝试过

$display = str_replace('src="/images', 'src="' . $root .'images', $display);

但是 - 两者都还没有工作:[

变了

src="/images/joomla_black.gif"

src="http://images/joomla_black.gif"

没有完整的网址:[

有什么建议吗?

更新2

添加了这个:

echo('non fixed:');
var_dump($display);

$root=JURI::root();
$display = str_replace('src="/images', 'src="' . $root .'images', $display);
//fix images in display to absolute paths for mailing


echo('fixed:');
var_dump($display);

两个显示字符串在输出上看起来相同

php replace joomla relative-path absolute-path
1个回答
0
投票

str_replace
会返回值,它不会改变
$display
变量,所以你需要做

$display = str_replace('src="/images', 'src="' . $root .'images', $display);

您发布的另一行将返回根域,以防 joomla 位于子文件夹中,我认为您不需要它

© www.soinside.com 2019 - 2024. All rights reserved.