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
Répondre
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
+1 pour l'analyseur DOM, -1 pour suggérer regex pour analyser HTML. – webbiedave
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 />";
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.
$ _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? –
Je pense qu'il veut analyser la structure HTML existante et obtenir l'attribut 'value' de lui –