2017-09-30 5 views
0

J'utilise la fonction suivante pour remplacer des éléments HTML5 avec ID Div. Je sais que nous pouvons utiliser HTMLShiv mais je veux le faire principalement pour les anciens navigateurs avec JavaScript désactivé.FONCTION PHP DOM pour créer ID DIV à partir d'éléments HTML5

Mon défi:

Je ne suis pas en mesure d'ajouter un id = »" à elle. Par exemple .....

<header> 
<h1>I am the header</h1> 
</header> 

devrait devenir

<div id ="header"> 
<h1>I am the header</h1> 
</div> 

J'ai essayé de faire ......

$newElement = $dom->createElement('div id ="' . $element . '"'); 

mais n'a pas fonctionné.

Ma question

Quel devrait être le bon code?

S'il vous plaît noter: Je ne suis pas un expert PHP donc s'il vous plaît être un peu descriptif dans vos réponses/commentaires.

+0

est la bonne façon de le faire ici: http://php.net/ manual/fr/domdocument.createattribute.php –

+0

Laissez-moi écrire une bonne réponse si vous ne pouvez toujours pas le faire? –

Répondre

0

Voici comment vous pouvez le faire:

REMARQUE: J'ai ajouté des commentaires pour plus de précisions que ce qui se passe exactement chaque énoncé du code.

CRÉATION D'UN HTML AVEC ÉLÉMENT UTILISATION DOM ATTRIBUT:

<?php 

// Initiate a new DOMDocument 
$dom = new DOMDocument(); 

// Create an element 
$div = $dom->createElement("div","HERE DIV CONTENTS"); 

// Create an attribute i.e id 
$divAttr = $dom->createAttribute('id'); 

// Assign value to your attribute i.e id="value" 
$divAttr->value = 'This is an id'; 

// Add your attribute (id) to your element (div) 
$div->appendChild($divAttr); 

// Add your element (div) to DOM 
$dom->appendChild($div); 

// Print your DOM HERE 
echo $dom->saveHTML(); 

?> 

SORTIE CODE:

<div id="This is an id">HERE DIV CONTENTS</div> 
+0

Si cela a résolu votre problème alors s'il vous plaît allez-y et acceptez cela comme réponse afin que la question soit considérée comme résolue! –