2015-06-15 2 views
0

привета с этим кодом PHP йота меняют атрибуты IMG:добавить тег, прежде чем IMG с помощью PHP DOM

foreach ($imgs2 as $img) 
{ 
    $img->setAttribute('src', $newsrc); 
    $img->setAttribute('alt', 'hi'); 
    $img->setAttribute('width', $Size); 
} 

Можно ли добавить «а» тег HREF содержания $ newsrc с йотом?

для exampple:

это мой текущий результат:

<img alt="hi" src = "pic1.png" /> 

Я хочу что-то вроде этого:

<a href="pic1.png"><img alt="hi" src = "pic1.png" /></a> 
+0

http://php.net/manual/en/domnode.insertbefore.php –

ответ

1
// take example hytml 
$str = '<html><img /></html>'; 

$dom = new DOMDocument(); 
$dom->loadHTML($str); 

// Find img 
$xpath = new DOMXPath($dom); 
$imgs = $xpath->evaluate("//img"); 
$img = $imgs->item(0); 

// Set (change) img attribute 
$img->setAttribute('src', "src"); 
$img->setAttribute('alt', 'hi'); 
$img->setAttribute('width', "300"); 

// Create new a element 
$element = new DOMElement('a'); 
// Insert it before img to save the point in dom 
$element = $img->parentNode->insertBefore($element, $img); 
// set its attribute 
$element->setAttribute('href', "src"); 
// Move img to be child of a 
$element->appendChild($img); 
echo $dom->saveHTML(); 

результата

<html><body> 
<a href="src"><img src="src" alt="hi" width="300"></a> 
</body></html> 
+0

Это работает для меня ... Спасибо. – partiz

+0

Добро пожаловать! – splash58