Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярные выражения, выборка 
:(
    Опции темы
svip
Дата 30.8.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



есть текст:
Код

<t>
  <min>25</min>
  <max>27</max>
</t>


можно ли как то с помошью регулярных выражений получить массив такого вида
Код

$mas[1]="t_min";
$mas[2]="25";
$mas[3]="t_max";
$mas[4]="27;


PM MAIL WWW ICQ   Вверх
Serkys
Дата 30.8.2007, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: 4
Всего: 22



Одной регуляркой не получилось, пришлось делать небольшую обработку средствами РНР.
Код

$res = preg_match('/<([a-z]+)>[\s]+<(min)>([0-9]+)<\/min>[\s]+<(max)>([0-9]+)<\/max>[\s]+<\/[a-z]+>/i', $code, $matches);

if ($res) {
  for($i = 2, $arr = array(); $i < count($matches); $i++) {
    $arr[] = $i % 2 ? $matches[$i] : $matches[1] . '_' . $matches[$i];
  }
}


Это сообщение отредактировал(а) Serkys - 30.8.2007, 20:36
PM MAIL   Вверх
SelenIT
Дата 30.8.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Имхо, лучше получить массив вида
Код

$mas['t_min'] = "25";
$mas['t_max'] = "27";

и делать это, опять же имхо, лучше всего simpleXML-парсером...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
svip
Дата 30.8.2007, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Цитата(SelenIT @  30.8.2007,  22:22 Найти цитируемый пост)
 делать это, опять же имхо, лучше всего simpleXML-парсером..

да проблема то в том что php 4 стоит а не 5. да и регулярками проще разобрать хотя и медленее. но тут скорость роли не играет поэтому и решил разбирать не парсером а регулярными выражениями

Serkys, спасибо, правда уже сделал попростому: 
Код

preg_match('|<t>.+<min>(.*)</min>.+</t>|Uis', $day[1][$i], $t_min_mas);            //ìèí òåìïåðàòóðà
$t_min=$t_min_mas[1];
preg_match('|<t>.+<max>(.*)</max>.+</t>|Uis', $day[1][$i], $t_max_mas);            //ìàêñ òåìïåðàòóðà
$t_max=$t_max_mas[1];


а потом уже в общий массив засунул  smile 

 smile  может кто знает где парсить телепрограмму каналов??????? Украинских
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.