2009-12-01 6 views
0

Est-il possible de prendre le contenu qui est sous un <div> spécifique et d'envoyer ce contenu?email div contenu dans php

Par exemple: Si j'ai quelque chose comme ceci:

<div id="1"> 
<ul> 
<li>a</li> 
<li>b</li> 
<ul> 
</div> 

Fondamentalement, je veux faire référence à tout <div> et prendre tout le contenu et l'envoyer par courriel. est-il un moyen de mettre en cache le contenu dans la div? Est-ce possible de toute façon? (javascript? php?)

Merci.

+0

Cela peut être fait du côté serveur. –

+0

Vous venez de faire cela pour l'exemple, mais le premier caractère d'ID ne doit pas être un nombre. Selon la spécification W3C, il devrait être dans [a-zA-Z]. Cela pourrait potentiellement entraîner des problèmes avec certaines des solutions ci-dessous. –

Répondre

6

Cela dépend vraiment de vos besoins supplémentaires. Vous pouvez avoir un script jQuery envoyer le contenu à un script PHP, qui les a ensuite e-mails sur:

$.post("email.php", { data : $("div#1").html() }, function(result){ 
    /* handle results */ 
}); 

Et puis votre script email.php ressemble à ce qui suit (Ne pas utiliser le code suivant AS- est):

<?php 

    $to = "[email protected]"; 
    $subject = "HTML Data"; 
    $message = $_POST["data"]; 
    $headers = "From: The Server <[email protected]>" . "\r\n" . 
      "Content-type: text/html" . "\r\n"; 

    mail($to, $subject, $message, $headers); 

?> 
+0

Est-ce que cela enverra également le contenu d'un iframe à l'intérieur de la div? –

+0

@GovindKailas Cela n'enverra pas par email le contenu * dans * un iframe imbriqué. Si vous vouliez faire cela, vous rencontreriez quelques autres obstacles potentiels, liés au domaine de la source iframe, et plus encore. – Sampson

+0

Le contenu iframe provient du même domaine, quels seraient les autres obstacles? –

1

Comme indiqué ci-dessus, jQuery est probablement la meilleure façon pour vous. Vous pouvez ajouter jQuery à votre page avec la ligne suivante:.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 

Vous pouvez également référencer votre contenu en utilisant seulement $ (« # 1 ») html(), ou quel que soit l'ID de votre div est (en votre exemple, c'est 1).