Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σε όλους. καταρχήν να σας πω ότι είμαι νέος στην php.

Έχω φάει πάρα πολλές ώρες στην χρήση του domdocuemnt για να πετύχω κάτι που θέλω δηλαδή να βάλω συνδέσμους σε όλες τις ετικέτες img. Το μόνο που πέτυχα είναι να το κάνω αυτό με τον πιο κάτω κώδικα, απλά δημιουργείτε μια νέα εικόνα με τον σύνδεσμο σε αυτή ενώ εγώ θέλω να μπει το link στην ήδη υπάρχων εικόνα χωρίς την δημιουργία μιας νέας εικόνας. Είναι εφικτό να γίνει αυτό; Η τζάμπα τρώω τις ώρες μου.

 

Ο πιο κώδικας κάνει parse των HTML και παίρνει όλες τις img tags. 

$doc = new DOMDocument;
$doc->loadHTMLFile("html.html");
echo $doc->saveHTML();
$images = $doc->getElementsByTagName('img');
foreach ($images as $img) {
$img_link = $img->getAttribute('src');
echo "<a href='http://www.insomnia.gr/'><img src='$img_link'/></a>";
  }

 

Δημοσ.

Θέλεις μέσα στo loop να έχεις αυτό:

 

$link = $doc->createElement('a'); 
$link->setAttribute('href', 'http://www.insomnia.gr');
$img->parentNode->insertBefore($link, $img);
$link->appendChild($img);

Νομίζω είναι ψιλοπροφανές τι γίνεται. Στις 2 τελευταίες γραμμές βάζεις το a ακριβώς πριν το img και μετά μετακινείς το img μέσα στο a προκειμένου να έχεις το τελικό αποτέλεσμα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...