1

我想用相同的字符串替换字符串中的不同模式。替换是具有不同值的数组。

由于必须混合模式,我找不到解决方案。也因为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是一个具有不同值的数组,可以放在标签之间。

4

1 回答 1

1

I had a similar problem, I found this solution perfect for me.

In your code:

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

Hope this helps.

Cheers!

于 2013-12-12T11:17:28.490 回答