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

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

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

 

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

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

тема: Вырезать из строки все что находиться в скобках [ ]
 
 автор: freelancerUz   (21.09.2011 в 15:21)   письмо автору
 
 

Здравствуйте уважаемые формучане! Помогите составить регулярное выражение! Есть строка
$str = "required | max_lengh[32] | min_lengh[4] | numeric";

необходимо вырезать из строки то что находиться в [ ] скобках заранее спасибо!

  Ответить  
 
 автор: cheops   (21.09.2011 в 17:04)   письмо автору
 
   для: freelancerUz   (21.09.2011 в 15:21)
 

Под вырезать имеется в виду извлечь или удалить?

  Ответить  
 
 автор: freelancerUz   (21.09.2011 в 17:05)   письмо автору
 
   для: cheops   (21.09.2011 в 17:04)
 

извлечь

  Ответить  
 
 автор: cheops   (21.09.2011 в 17:17)   письмо автору
 
   для: freelancerUz   (21.09.2011 в 17:05)
 

А их как-то нужно отмечать, что они принадлежат тому или иному массиву?

Можно начать отталкиваться от скрипта, который просто извлекает все числа, помещая их в результирующий массив по порядку
<?php
  $text 
"required | max_lengh[32] | min_lengh[4] | numeric";
  
$pattern "|\[(\d+)\]|";
  
preg_match_all($pattern$text$out);
  echo 
"<pre>";
  
print_r($out[1]);
  echo 
"</pre>";
?>

  Ответить  
 
 автор: freelancerUz   (21.09.2011 в 17:34)   письмо автору
 
   для: cheops   (21.09.2011 в 17:17)
 

Сделал вот так все получилось:
<?php 
  $text 
"required | max_lengh[32] | min_lengh[4] | numeric"
  
$pattern "|min_lengh\[(\d+)\]|"
  
preg_match_all($pattern$text$out); 
  echo 
"<pre>"
  
print_r($out[1]); 
  echo 
"</pre>"
?>

мне проста нужно было узнать именно min_lengh
Спасибо Cheops!

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

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