PHP。函数preg_使用create_函数()替换_回调,因为PHPversion 5.2
我想用具有不同值的数组替换字符串中相同的PHP。函数preg_使用create_函数()替换_回调,因为PHPversion 5.2,php,Php,我想用具有不同值的数组替换字符串中相同的标记。 因此,IMG,IMG将: 变量$imagesell始终相同。$images是一个数组,在标记之间放置不同的值 数组$images如下所示: $artikelinhoud = $simpleXml->StandaardOplossing->attributes()->ArtikelInhoud; $arrayImages = array(); preg_match_all('<!\[(CDATA)\[\s*(.*?)\s*\]
标记。
因此,IMG,IMG将:
变量$imagesell
始终相同。$images
是一个数组,在标记之间放置不同的值
数组$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();
$imagesOld[] = '/type="(.*?)"/';
$artikelinhoud = preg_replace($imagesOld, $images , $artikelinhoud);
格里茨,埃里克你提问的方式很难帮助你。。。我认为您不需要使用正则表达式,也许您只需要使用DOM和XPath即可…:)也许是的,但我几乎找到了解决办法。该字符串是一个很大的html字符串,其中包含几次IMG标记。现在唯一的问题是字符串中的每个图像标记都替换为图像数组的第一个图像。而不是用不同的图像。因此,我会很高兴看到黄金提示:-)
$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);
[0]=> string(26464) "src="data:image/jpg;base64,/9j/4A...etc
[1]=> string(23464) "src="data:image/jpg;base64,/9j/4A....etc