Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выборки из строки в php

2.6K
12 апреля 2004 года
Riccon
17 / / 03.11.2003
Я тольк начинаю изучать php, и ничего не знаю. Полный ноль.
Помогите пожалуйста, я даже не знаю с чего начать.

Задача такая:есть строка

200...текст...#A...текст...#B...текст...@300...текст...#A...текст...#B...текст.

где 200,300 - коды строки
@ - разделитель между строками
A,B - коды подстроки
# - разделитель между подстроками

Как написать так, чтоб, например, получить значение подстроки 'B' в строке '300' ?
Помогите, пожалуйста, не дйте помереть...
1.9K
12 апреля 2004 года
HabaHaba
172 / / 24.12.2003
Цитата:
Originally posted by Riccon
Я тольк начинаю изучать php, и ничего не знаю. Полный ноль.
Помогите пожалуйста, я даже не знаю с чего начать.
.....


Может начать с чего-нибудь чуток по проще? :)

Цитата:

Задача такая:есть строка

200...текст...#A...текст...#B...текст...@300...текст...#A...текст...#B...текст.

где 200,300 - коды строки
@ - разделитель между строками
A,B - коды подстроки
# - разделитель между подстроками

Как написать так, чтоб, например, получить значение подстроки 'B' в строке '300' ?
Помогите, пожалуйста, не дйте помереть...


В принципе, если файл не очень большой... В смысле строк не очень много, то тогда, для начала, можно положить в массив и дальше уже работать со строками. Например так:

Код:
$str= "200...текст...#A...текст...#B...текст...@300...текст...#A...текст...#B...текст...@400...текст...#A...текст...#B...текст";
$myarray = explode("@",$str);
for ($i=0;$i<count($myarray);$i++) {
        $substr = explode("#",$myarray[$i]);
        $index = preg_match("/[0-9]{1,5}/",$substr[0],$regs);
      $substr[0] = preg_replace("/[0-9]{1,5}/","",$substr[0]);
    $all[$regs[0]]["text"] = $substr[0];   
        for ($j=1;$j<count($substr);$j++) {
                    $all[$regs[0]]["sub"][substr($substr[$j],0,1)]=substr($substr[$j],1,strlen($substr[$j]));  
        }  
}
print $all[300]["sub"]["B"];

//Красиво распечатаный массив:
print "<pre>";
   print_r($all);
print "</pre>";

Ну а там уже возникает куча "но". Всегда ли есть строка? Всегда ли код подстроки состоит из одной буквы и т.д.
Также, наверное можно попробовать сделать регуляркой.
А откуда такая задача взялась, если не секрет?
2.6K
12 апреля 2004 года
Riccon
17 / / 03.11.2003
Ахххххренеть!!! Супер! Вот спасибо, так спасибо. Самый полезный ответ, который когда либо мне давали в форумах. УРАААА.

А задача такая взялясь вот откуда: новому начальнику понадобилось всё сделать поновому и ново. В общем есть некоторая софтина, которая хранит записи в MSSQL DB, где формат одной записи и имеет вот такую структуру. Вот и сказали мне, иди учи php и напиши нам поиск по базе через web интерфейс. Так-то искать собираюсь по индексным словарям, ну а они то и ссылаются на гадскую строчку.

Со всем остальным, думаю, справлюсь. Еще раз огромнейшее спасибо!:P
1.9K
13 апреля 2004 года
HabaHaba
172 / / 24.12.2003
Цитата:
Originally posted by Riccon
Ахххххренеть!!! Супер! Вот спасибо, так спасибо. Самый полезный ответ, который когда либо мне давали в форумах. УРАААА.

А задача такая взялясь вот откуда: новому начальнику понадобилось всё сделать поновому и ново. В общем есть некоторая софтина, которая хранит записи в MSSQL DB, где формат одной записи и имеет вот такую структуру. Вот и сказали мне, иди учи php и напиши нам поиск по базе через web интерфейс. Так-то искать собираюсь по индексным словарям, ну а они то и ссылаются на гадскую строчку.

Со всем остальным, думаю, справлюсь. Еще раз огромнейшее спасибо!:P


Привет, рад, что помог!
Вообще это не решение, это так, баловство и наверное можно и поизящней сделать. Поиск по базе всётаки лучше делать средствами самой базы. То есть, я бы, лично, написал бы хранимую процедурку на TSQL а из php просто бы обрабатывал результаты.
Хотя, если честно, так и не понял, как оно там у тебя всё храниться :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог