html in html?!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Reshad F

Reshad F

27/04/2012 12:10:30
Quote Anchor link
hollaa ik gebruik een scriptje om alle img tags uit een document te halen en deze een id mee te geven automatisch. maar het probleem is dat ik dan <html><body><img id="photo"></body></html> krijg ipv alleen de img tag met id en ik kan maar niet vinden wat het probleem is. iemand die even mee wilt kijken?

code is

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
                            $doc
= new DOMDocument();
                            $doc->loadHTML(file_get_contents($path));
                            $domAttribute = $doc->createAttribute("id");
                            $domAttribute->value = "photo";
                          
                            //$doc->loadHTML(file_get_contents($path));
                               foreach ($doc->getElementsByTagName('img') as $image){
                                
                                $image->appendChild($domAttribute);
                               // print "<!--" . $image->nodeName . "-->";
                               }
                              
                            print "<div id=\"" . basename($path, ".html") . "\" class=\"content text\">" . $doc->saveHTML() . "</div>";
?>
Gewijzigd op 27/04/2012 12:11:00 door Reshad F
 
PHP hulp

PHP hulp

11/08/2020 18:31:30
 
Pim -

Pim -

27/04/2012 12:30:39
Quote Anchor link
Je echo't nu de DOC, niet het element, lijkt me logisch...
Sla je image op als var en doe dan saveHtml($image).
 
Reshad F

Reshad F

27/04/2012 12:57:55
Quote Anchor link
ik heb dit onder de loadhtml gezet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$doc
->removeChild($doc->firstChild);
$doc->replaceChild($doc->firstChild->firstChild->firstChild, $doc->firstChild);
?>


dan krijg ik alleen images en geen text meer

maar verander ik regel 2 in

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$doc
->replaceChild($doc->firstChild->firstChild $doc->firstChild);
?>


dan behoud ik de <body> tag

Toevoeging op 27/04/2012 13:08:26:

edit: heb het heel makkelijk opgelost heb de docs weggehaald helemaal en alleen dit gedaan (str_replace)

<php

print "<div id=\"" . basename($path, ".html") . "\" class=\"content text\">" . str_replace("<img", "<img id=\"photo\"", file_get_contents($path)) . "</div>";

?>
 
Pim -

Pim -

28/04/2012 16:03:02
Quote Anchor link
Heb je überhaupt gelezen wat ik schreef?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.