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

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

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

 

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

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

тема: Вырезать из строки два числа и поместить их переменные
 
 автор: sidpr   (06.10.2011 в 15:48)   письмо автору
 
 

№ 125243, [точка: 1], [мен: 102573], [фывфывфвфыв.], [фывфыв: фывфыв]

подскажите как из подобной строки получить две переменной

$tochka = 1;
$men = 102573;

  Ответить  
 
 автор: cheops   (06.10.2011 в 16:10)   письмо автору
 
   для: sidpr   (06.10.2011 в 15:48)
 

Можно начать отталкиваться от следующего регулярного выражения
<?php
  $text 
"№ 125243, [точка: 1], [мен: 102573], [фывфывфвфыв.], [фывфыв: фывфыв]";
  
$pattern "|\[точка:\s+(\d+)\],\s+\[мен:\s+(\d+)\]|";
  if(
preg_match($pattern$text$out))
  {
    
$tochka $out[1];
    
$men $out[2];
    echo 
"Полученные значения<br >\$tochka = $tochka<br />\$men=$men";
  }
?>

  Ответить  
 
 автор: sidPR   (06.10.2011 в 17:22)   письмо автору
 
   для: cheops   (06.10.2011 в 16:10)
 

Спасибо большое :)

  Ответить  
 
 автор: sidPR   (31.10.2011 в 18:31)   письмо автору
 
   для: sidPR   (06.10.2011 в 17:22)
 

а если так и текст может быть ? я написал так но не вышло .. (.*+)

  Ответить  
 
 автор: cheops   (31.10.2011 в 23:09)   письмо автору
 
   для: sidPR   (31.10.2011 в 18:31)
 

Лучше расширять класс \d менее кардинально, у вас в текст что будет входить?

  Ответить  
 
 автор: sidPR   (08.11.2011 в 13:22)   письмо автору
 
   для: cheops   (31.10.2011 в 23:09)
 

или текст или цифра. "TEST" или "134134"

  Ответить  
 
 автор: Sfinks   (12.11.2011 в 18:23)   письмо автору
 
   для: sidPR   (08.11.2011 в 13:22)
 

$pattern = "|\[точка:\s+([a-z0-9]+)\],\s+\[мен:\s+([a-z0-9]+)\]|i";

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

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