Bu yüzden oldukça uzun bir süredir var ve en iyi ben görüntü etiketi sonra bir bağlantı ve bir span ile görüntü kaydırma:PHP dom link görüntü görüntü ve görüntü etiketi önce yayılma
<a href="">
<img src="">
<span></span>
</a>
Ama istediğim wat: Ben arkadaşları varyasyonların hiç türlerini ve
$img->parentNode->appendChild($dom->createElement('span'), $img);
konumlarını ve insertBefor kullanımını çalıştı
<a href="">
<span></span>
<img src="">
</a>
e() kodumdaki her türlü yer ve tamamen php DOM şeyler için yeni olduğum için tamamen fikir dışındayım. Kaynağım:
foreach($dom->getElementsByTagName('img') as $img)
{
$fancyHref = $dom->createElement('a');
$clone = $fancyHref->cloneNode();
$img->parentNode->replaceChild($clone, $img);
$clone->appendChild($img);
$img->parentNode->appendChild($dom->createElement('span'));
};
Güncelleme: amacıma netleştirmek için: Ben html img etiketi var.
<img src="" />
<a href="">
<span class=""></span>
<img src="" />
</a>
sonra önce: o php dom geçer sonra görüntü etiketinden önce bir aralık etiketinin ile bir etiketin sarılmış img etiketini istiyorum Bunu yapmak için şu anda kodum (açıklık olmadan)
foreach($dom->getElementsByTagName('img') as $img)
{
$src = $img->getAttribute('src');
$filename = substr(strrchr($src , '/') ,1);
$filename = preg_replace('/^[.]*/', '', $filename);
$filename = explode('.', $filename);
$filename = $filename[0];
if($this->imagesTitles[$this->currentLanguage][$filename] !== '')
{
$img->setAttribute('title', $this->imagesTitles[$this->currentLanguage][$filename]);
$img->setAttribute('alt', $this->imagesTitles[$this->currentLanguage][$filename]);
}
else
{
$img->removeAttribute('title');
$img->removeAttribute('alt');
}
$classes = explode(' ', $img->getAttribute('class'));
if(!in_array('no-enlarge', $classes))
{
$fancyHref = $dom->createElement('a');
$span = $dom->createElement('span');
$span->setAttribute('class', 'magnifier');
$fancyHref->setAttribute('class', 'enlarge');
$fancyHref->setAttribute('rel', 'enlarge');
$fancyHref->setAttribute('href', $img->getAttribute('src'));
if($img->getAttribute('title') !== '')
{
$fancyHref->setAttribute('title', $img->getAttribute('title'));
$fancyHref->setAttribute('alt', $img->getAttribute('title'));
}
$clone = $fancyHref->cloneNode();
$img->parentNode->replaceChild($clone, $img);
$clone->appendChild($img);
$img->parentNode->insertBefore($span, $img);
}
$img->setAttribute('class', trim(str_replace('no-enlarge', '', $img->getAttribute('class'))));
if($img->getAttribute('class') === '')
{
$img->removeAttribute('class');
}
}
Bu işlevler parentNode '... 'dan nerededir? –
İşleri düz bir şekilde almak için zaten bir resminiz var ve daha önce yayılma süresi mi var? – Itay
Yeas. HTML'de bir resim etiketim var. Yapmak istediğim, etrafına bir şey sarmak ve daha önce bir sınıfa bir başlık etiketi koymak. Ne istediğimi açıklamak için soruyu güncelledim. –