0

データベースに保存されている HTML コードをメールで送信する必要があります。

画像も表示するには、相対パスを絶対パスに置き換える必要があります。

HTML を保持する $display という変数があります。

それを行うには、次のことを試します。

$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"

完全な URL なし:[

何かアドバイス?

更新 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);

両方の表示文字列が出力上で同一に見える

4

1 に答える 1

0

str_replace値を返しますが、$display変数は変更されないため、行う必要があります

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

joomlaがサブフォルダーにある場合、投稿した他の行はルートドメインを返しますが、それは必要ないと思います

于 2013-02-23T10:51:48.383 に答える