我对图像有疑问。
当用户单击图像时,我尝试添加图像 ID,并且该 ID 将保存到 DB。
当页面重新加载时,具有 id 属性的图像将在 img 标签中显示 id。
我识别具有 id 属性的图像的方式是基于图像 src。但是,我刚刚发现有很多重复的图像,我的代码将为所有重复的图像添加一个 id 属性。
我只想在用户单击的图像中添加 id 属性。
我的代码
this.id
是图像的新 id 属性,它是从 DB 生成的。
//click image codes....
//assign the id to the clicked image (not all duplicated images)
this.img.attr('id',this.id);
当页面重新加载...
$doc = new DOMDocument();
$doc->loadHTML($myHtml);
$imageTags = $doc->getElementsByTagName('img');
//get the images that has id attribute from DB
$imgSource=$this->imgSource; //imgSource is an array
$imgID=$this->imgID; //imgID is an array
//search the htmlstring and add the id attribute to the images
foreach($imageTags as $tag) {
$source=$tag->getAttribute('src');
//if the html contains the image that has id attribute..
if(in_array($source, $imgSource)){
$ids=array_keys($imgSource,$source);
foreach($ids as $id){
$tag->setAttribute('id',$imgID[$id]);
$myHtml=$doc->saveHTML();
}
}
}
}
我上面的代码会将 id 分配给 id 存储在 DB 中的图像。但是,它也会将 id 分配给所有重复的图像。我需要区分那些重复的图像,就我而言,我只能在 php 中做到这一点。这个问题把我逼疯了!如果有人可以帮助我,我将不胜感激。非常感谢。