Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: textarea
 
 автор: BAHO   (22.07.2006 в 17:00)   письмо автору
 
 

Нужно составить рег.выражение стандарта PCRE на такой вот случай... имеется текстовое поле

<textarea cols=x rows=x>sgfsdgsdgsd</textarea>

на странице может быть несколько текстовых полей, но меня интересуют лишь те, в которых есть какие то данные, т.е. оно непустое. Нужно извлечь данные, хранящиеся в тэге textarea

   
 
 автор: cheops   (22.07.2006 в 21:57)   письмо автору
 
   для: BAHO   (22.07.2006 в 17:00)
 

Данные предопределены, т.е. подставляются за ранее? и как отличать нужную текстовую область от всех остальных?

   
 
 автор: BAHO   (22.07.2006 в 22:38)   письмо автору
 
   для: cheops   (22.07.2006 в 21:57)
 

нужные текстовые поля содержат информацию, ненужные не содержат... данные не предопределены

   
 
 автор: BAHO   (22.07.2006 в 22:51)   письмо автору
 
   для: BAHO   (22.07.2006 в 22:38)
 

в массив заносятся только значения полей нужных...
вроде тут pre_match_all нужен...
пока всё ещё не имею литературы по рег.выражениям и они для меня что то незнакомое, хотя много раз сталкивался

   
 
 автор: cheops   (22.07.2006 в 23:00)   письмо автору
 
   для: 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.

   
 
 автор: BAHO   (22.07.2006 в 23:29)   письмо автору
 
   для: cheops   (22.07.2006 в 23:00)
 

спасибо! именно то что нужно!

а в той книге про PCRE и особенности его работы в php есть всё?

   
 
 автор: cheops   (23.07.2006 в 11:17)   письмо автору
 
   для: BAHO   (22.07.2006 в 23:29)
 

Нет, работа с PHP в ней не рассматривается, рассматриваются просто логика регулярных выражений, однако восприятию это не мешает, вы легко сможете их применять и в PHP в том числе.

   
 
 автор: BAHO   (23.07.2006 в 12:23)   письмо автору
 
   для: cheops   (23.07.2006 в 11:17)
 

вот проеблма то появилась. Вообщем в текствоом поле могут находится html тэги. Я со своими минимальными знаниями о рег.выражениях всё выглядел там, что нужное ищется до скобки <, а ведь в поле сразу же после открывающегося текстового поля идёт как раз такая кобка

   
 
 автор: cheops   (23.07.2006 в 14:15)   письмо автору
 
   для: 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>"
?>

   
 
 автор: BAHO   (23.07.2006 в 14:33)   письмо автору
 
   для: cheops   (23.07.2006 в 14:15)
 

ой, а что он много мусора берёт. то что нужно взял, но помимо того ещё всякую дрянь, в видет тэгов <textarea, но сосвсем других, которые как раз и должны игнорироваться... и ещё там всял текста немного, который уж тем более должен игнорироваться, т.к. не входит в текстовое поле

   
 
 автор: cheops   (23.07.2006 в 15:23)   письмо автору
 
   для: BAHO   (23.07.2006 в 14:33)
 

Не должён бы... прикрепите если не сложно текст, по которому осуществляете проверку?

   
 
 автор: BAHO   (23.07.2006 в 19:33)   письмо автору
4.8 Кб
 
   для: cheops   (23.07.2006 в 15:23)
 

вот...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования