PHP - 用数据uri替换字符串src值

时间:2016-05-25 07:52:11

标签: php arrays string data-uri

美好的一天。

我有一个数组,用于保存img的数据uri。

$var =
array(
[0] => data:image/png;base64,iVBORw0KGgoAA...
[1] => data:image/png;base64,Rw0KKGgoasWAA...
);

我有一个字符串。

$foo = '<p>test 7/31/2</p> <p>&nbsp;<img src="/media/1.png" alt="" /></p> <p><img src="/media/2.png" alt="" /></p>';

如何使用src中的数据uri数组替换$foo中的$var

结果就像。

$foo = '<p>test 7/31/2</p> <p>&nbsp;<img src="data:image/png;base64,iVBORw0KGgoAA..." alt="" /></p> <p><img src="data:image/png;base64,Rw0KKGgoasWAA..." alt="" /></p>';

任何想法都可以!

2 个答案:

答案 0 :(得分:1)

试试这个:

$images = [
    "/media/1.png" => 'data:image/png;base64,iVBORw0KGgoAA...',
    "/media/2.png" => 'data:image/png;base64,Rw0KKGgoasWAA...'
];

$url = '<p>test 7/31/2</p> <p>&nbsp;<img src="/media/1.png" alt="" /></p> <p><img src="/media/2.png" alt="" /></p>';
$url = str_replace(array_keys($images), array_values($images), $url);

答案 1 :(得分:0)

这个怎么样?

<?php

$array = array(
    'data:image/png;base64,iVBORw0KGgoAA',
    'data:image/png;base64,Rw0KKGgoasWAA'
);

$string = '<p>test 7/31/2</p> <p>&nbsp;<img src="'.$array[0].'" alt="" /></p> <p><img src="'.$array[1].'" alt="" /></p>';

echo $string;