我需要邮寄一些存储在数据库中的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);
两个显示字符串在输出
上看起来相同答案 0 :(得分:0)
str_replace
将返回值,它不会更改$display
变量,因此您需要执行
$display = str_replace('src="/images', 'src="' . $root .'images', $display);
如果joomla在子文件夹中,您发布的另一行将返回根域,我认为您不需要