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

PHP - Replace string src value with 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>';

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

结果会是这样。

$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>';

任何想法都行!

这个怎么样?

<?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;

试试这个:

$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);