我有以下代码,它生成指定文本的img标题,
让我们说标题= waterfallfountainpicture20x20,我如何用泻湖替换喷泉这样的字,以便它成为瀑布图片20x20?
preg_match_all('/<img[^>]+>/i',$html, $result);
$img = array();
foreach( $result[0] as $img_tag)
{
preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]);
}
//print_r($img);
foreach ($img as $imgg)
echo $imgg[2][0];
非常感谢您的帮助
答案 0 :(得分:1)
因为你已经拔出了图像标签,听起来你确切地知道你要替换的是什么(静态文本),你可能更好地使用str_replace但是如果你想去正则路线......
preg_match_all('/<img[^>]+>/i',$html, $result);
$img = array();
$sub = "fountain";
$rep = "lagoon";
foreach( $result[0] as $img_tag)
{
$img[] = preg_replace('/(title\s?=\s?["\'][^"\']*)'.$sub.'/i','${1}'.$rep,$img_tag);
}
答案 1 :(得分:0)
我不确定我是否正确理解了您的问题。您可以尝试使用preg_replace而不是preg_match_all。