我想用相同的字符串替换字符串中的不同模式。替换是具有不同值的数组。
由于模式必须混合,我找不到解决方案。也因为preg_replace_all
不存在。有人有想法吗?
我的代码:
$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
是一个数组,具有不同的值,可以放在标签之间。
我遇到了类似的问题,我发现这个解决方案非常适合我。
在您的代码中:
$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_fill(0, count($images), '/type="(.*?)"/');
$artikelinhoud = preg_replace($imagesOld, $images , $artikelinhoud, 1);
希望这有帮助。
干杯!