|
|
|
| Нужно составить рег.выражение стандарта PCRE на такой вот случай... имеется текстовое поле
<textarea cols=x rows=x>sgfsdgsdgsd</textarea>
|
на странице может быть несколько текстовых полей, но меня интересуют лишь те, в которых есть какие то данные, т.е. оно непустое. Нужно извлечь данные, хранящиеся в тэге textarea | |
|
|
|
|
|
|
|
для: BAHO
(22.07.2006 в 17:00)
| | Данные предопределены, т.е. подставляются за ранее? и как отличать нужную текстовую область от всех остальных? | |
|
|
|
|
|
|
|
для: cheops
(22.07.2006 в 21:57)
| | нужные текстовые поля содержат информацию, ненужные не содержат... данные не предопределены | |
|
|
|
|
|
|
|
для: BAHO
(22.07.2006 в 22:38)
| | в массив заносятся только значения полей нужных...
вроде тут pre_match_all нужен...
пока всё ещё не имею литературы по рег.выражениям и они для меня что то незнакомое, хотя много раз сталкивался | |
|
|
|
|
|
|
|
для: BAHO
(22.07.2006 в 22:51)
| | Хм... посмотрите скрипт
<?php
$text = "Текст поступает из формы, например, так <textarea cols=x rows=x>sgfsdgsdgsd</textarea>. Нужно заменить.";
$pattern = "|<textarea[^>]+>([^<]+)<|is";
$text = preg_match_all($pattern, $text, $out);
echo "<pre>";
print_r($out[1]);
echo "</pre>";
?>
|
это то, что нужно?
PS По регулярным выражениям всех лучше использовать Дж. Фридл "Регулярные выражения", к сожалению в бумажном виде его уже не достать (прекратили выпуск), но можно загрузить в электронном виде с нашего сайта http://www.softtime.ru/info/fridl.php. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2006 в 23:00)
| | спасибо! именно то что нужно!
а в той книге про PCRE и особенности его работы в php есть всё? | |
|
|
|
|
|
|
|
для: BAHO
(22.07.2006 в 23:29)
| | Нет, работа с PHP в ней не рассматривается, рассматриваются просто логика регулярных выражений, однако восприятию это не мешает, вы легко сможете их применять и в PHP в том числе. | |
|
|
|
|
|
|
|
для: cheops
(23.07.2006 в 11:17)
| | вот проеблма то появилась. Вообщем в текствоом поле могут находится html тэги. Я со своими минимальными знаниями о рег.выражениях всё выглядел там, что нужное ищется до скобки <, а ведь в поле сразу же после открывающегося текстового поля идёт как раз такая кобка | |
|
|
|
|
|
|
|
для: BAHO
(23.07.2006 в 12:23)
| | Тогда используйте следующее регулярное выражение
<?php
$text = "Текст поступает из формы, например, так <textarea cols=x rows=x>sgfsdgsdgsd</textarea>. Нужно заменить.";
$pattern = "|<textarea[^>]+>(.+?)</textarea>|is";
$text = preg_match_all($pattern, $text, $out);
echo "<pre>";
print_r($out[1]);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.07.2006 в 14:15)
| | ой, а что он много мусора берёт. то что нужно взял, но помимо того ещё всякую дрянь, в видет тэгов <textarea, но сосвсем других, которые как раз и должны игнорироваться... и ещё там всял текста немного, который уж тем более должен игнорироваться, т.к. не входит в текстовое поле | |
|
|
|
|
|
|
|
для: BAHO
(23.07.2006 в 14:33)
| | Не должён бы... прикрепите если не сложно текст, по которому осуществляете проверку? | |
|
|
|
|
 4.8 Кб |
|
|
для: cheops
(23.07.2006 в 15:23)
| | вот... | |
|
|
|