2010-09-10 2 views
1

как я могу получить значение из поля textarea. я хочу detail- мне нужно разобрать HTML-страницу и получить значение из поля текстовое поле не называть что-то вроде $ _POST [ «TEXTAREA»]php получить значение из textarea

+0

$ _POST ['textarea'] - как вы получаете данные из представленной текстовой области. Почему вы не хотите использовать этот метод? –

+0

Я думаю, он хочет проанализировать существующую структуру HTML и получить из нее атрибут 'value' –

ответ

3

Вариант 1

Лучший способ для синтаксического анализа, как это использовать DOM , http://www.php.net/manual/en/book.dom.php После загрузки вашей страницы в DOM вы можете использовать getElementById('textarea_id'), php docs are here. Если ваша текстовая область имеет идентификатор или getElementsByTagName('textarea'), но в этом случае вы получите NodeList. Так это будет выглядеть примерно так:

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


Вариант 2

Другой вариант, чтобы получить страницу в виде строки и использовать regular expression, чтобы соответствовать вашим текстовое поле и получить информацию из него. Я нашел этот класс в гугле, это HTML форма Parser - http://www.alexandruion.com/html-form-parser

+2

+1 для DOM-парсера, -1 для предложения регулярного выражения для анализа HTML. – webbiedave

0

Это гораздо проще, но это должно работать (при условии печати $ дисплей позже)

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

Это не работает для меня:

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

Я использовал $node1 = $nodes->item(0)->nodeValue; с классом DOMElement наследуют свойства DOMNode as you can see here.

Смежные вопросы