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

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

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

 

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

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

тема: Завести текст в переменную между определёнными символами.
 
 автор: Maxam   (16.08.2008 в 14:50)   письмо автору
 
 

Нужно завести текст в переменную, который находитьс между некими символами.

Пример. Текст:
(>)
Здесь может быть написано, что угодно,
но что бы не было >
это не важно
!



Нужно всё, что находится между "(>)" и "!" записать в переменную:
$name = 'Здесь может быть написано, что угодно,
но что бы не было >
это не важно';



Как это сделать? Спасибо!

P.S. Количество строк постоянно меняется.

  Ответить  
 
 автор: Maxam   (16.08.2008 в 19:01)   письмо автору
 
   для: Maxam   (16.08.2008 в 14:50)
 

Что ж так, совсем никто не знает?

  Ответить  
 
 автор: Николай2357   (16.08.2008 в 19:33)   письмо автору
 
   для: Maxam   (16.08.2008 в 19:01)
 

Обидно, когда ни кто не отвечает. Попробую я, только я нуб, сразу предупреждаю. Гуру потом поправят.

<?
preg_match_all
("/([>])([^!]*?)!/",$text,$newtextPREG_PATTERN_ORDER);
echo 
$newtext[2][0];

  Ответить  
 
 автор: Николай2357   (16.08.2008 в 20:41)   письмо автору
 
   для: Николай2357   (16.08.2008 в 19:33)
 

Ой, прошу прощенья, скобкам не придал значения:
<?
preg_match_all
("/([(][>][)])([^!]*?)!/",$text,$newtextPREG_PATTERN_ORDER);
$name=$newtext[2][0];
 echo 
$name;

стихи, блин.

  Ответить  
 
 автор: sl1p   (16.08.2008 в 21:02)   письмо автору
 
   для: Николай2357   (16.08.2008 в 20:41)
 

в значения надо мягкий знак тогда будет норм =D

  Ответить  
 
 автор: Николай2357   (16.08.2008 в 21:25)   письмо автору
 
   для: sl1p   (16.08.2008 в 21:02)
 

значенььььььььья
Норм.

  Ответить  
 
 автор: xx77   (16.08.2008 в 22:33)   письмо автору
 
   для: Николай2357   (16.08.2008 в 21:25)
 

([^!]*?)! инвертировать жадность * здесь не нужно [^!]* и так поглотит всё до ! или вообще всё ,если нет !
и скобки ( ) нужно просто заэкранировать
<pre><?
$str 
'uuuuuuu(>) 
Здесь может быть написано, что угодно, 
но что бы не было > 
это не важно 
!
это не нужно
'
;
$newstr = (preg_match('#\(>\)([^!]*)!#'$str$newstr))? $newstr[1]: '' ;

print_r($newstr);

?></pre>

А по теме вопроса - непонятно имеет ли смысл строка "что бы не было > "

и следует-ли понимать слова "P.S. Количество строк постоянно меняется."

так что $name = ........
на самом деле должно быть $name[] = .......

  Ответить  
Rambler's Top100
вверх

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