我想<IMG>
用具有不同值的数组替换字符串中的相同标签。所以 IMG,IMG 将是:
<IMG src="data:image/jpg;base64,/9j/4AA ....etc> , <IMG src="data:image/png;base64,/9j/4AA ....etc >
由于模式必须与 混合preg_replace()
,并且因为preg_replace_all
不存在,所以我必须使用函数preg_replace_callback()
。
我有 PHP 5.2 版,所以我必须create_function()
在preg_replace_callback()
.
有没有人知道preg_replace_callback()
在这种情况下应该是什么样子?我无法理解如何create_function
工作。我必须做一个循环还是什么?
我的代码preg_replace()
: 这将使用数组的第一张图片更改所有 IMG 标签。preg_replace_callback()
但我需要用/遍历所有 IMG 标签,create_function()
并用数组的不同图片替换。
$artikelinhoud = $simpleXml->StandaardOplossing->attributes()->ArtikelInhoud;
$arrayImages = array();
preg_match_all('<!\[(CDATA)\[\s*(.*?)\s*\]\]>', $artikelinhoud, $arrayImages);
$images = array();
foreach ($arrayImages[2] as $key => $image) {
$images[$key] = 'src="data:image/jpg;base64,' . $image . '"';
}
$imagesOld = array();
$imagesOld[] = '/type="(.*?)"/';
$artikelinhoud = preg_replace($imagesOld, $images , $artikelinhoud);
变量$imagesold
总是相同的。并且$images
是一个具有不同值的数组,可以放在标签之间。
数组$images
看起来像:
[0]=> string(26464) "src="data:image/jpg;base64,/9j/4A...etc
[1]=> string(23464) "src="data:image/jpg;base64,/9j/4A....etc
格雷茨,埃里克