2010-09-10 24 views
1

comment puis-je obtenir de la valeur à partir de la zone de texte de champ. je veux détails- i besoin d'analyser la page html et obtenir la valeur de textarea de champ n'appeler quelque chose comme $ _POST [ « textarea »]php obtenir la valeur de textarea

+0

$ _POST ['textarea'] est la façon dont vous obtenez des données à partir d'une zone de texte soumise. Pourquoi ne voulez-vous pas utiliser cette méthode? –

+0

Je pense qu'il veut analyser la structure HTML existante et obtenir l'attribut 'value' de lui –

Répondre

3

Option 1

La meilleure façon pour l'analyse syntaxique comme ceci est d'utiliser DOM Après avoir chargé votre page dans le DOM, vous pouvez utiliser getElementById('textarea_id'), php docs are here. Si votre zone de texte a ID ou getElementsByTagName('textarea'), mais dans ce cas, vous obtiendrez NodeList. Donc, il ressemblera à quelque chose comme ceci:

// dom 
$nodes = $dom->getElementsByTagName('textarea'); 
$node1 = $nodes->item(0); 


Option 2

Une autre option est d'obtenir la page en tant que chaîne et utiliser regular expression pour correspondre à votre zone de texte et obtenir des informations sur lui. J'ai trouvé cette classe dans Google, il est formulaire HTML Parser - http://www.alexandruion.com/html-form-parser

+2

+1 pour l'analyseur DOM, -1 pour suggérer regex pour analyser HTML. – webbiedave

0

Il est beaucoup plus simple, mais cela devrait fonctionner (en supposant l'impression $ affichage plus tard)

$display .= "<textarea name='notes' rows='3' cols='30'>".$notes."</textarea><br />"; 
0

Cela ne fonctionne pas pour moi:

// dom 
$nodes = $dom->getElementsByTagName('textarea'); 
$node1 = $nodes->item(0); 

J'utilisé $node1 = $nodes->item(0)->nodeValue; depuis la classe DOMElement héritent des propriétés DOMNode as you can see here.