Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2014, 17:18   #1
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию Разбить строку

Привет!
Подскажите как из одной строки получить две.
Вот есть строка формата
PHP код:
$text "[ru] Название [ru] Описание [ru]"
и из нее надо получить две строки
PHP код:
$text1 " Название ";
$text2 " Описание "
der90 вне форума Ответить с цитированием
Старый 17.02.2014, 17:34   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
$text "[ru] Название [ru] Описание [ru]";
list(
$text1$text2) = preg_split('#\[ru\]#'$text, -1PREG_SPLIT_NO_EMPTY);
var_dump($text$text1$text2); 
Вывод:
PHP код:
string '[ru] Название [ru] Описание [ru]' (length=48)
string ' Название ' (length=18)
string ' Описание ' (length=18
Andkorol вне форума Ответить с цитированием
Старый 17.02.2014, 17:41   #3
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию

спс...но вот нашел еще один способ если интересно

PHP код:
   $buf_text_ru explode("[ru]",  $text]); 
der90 вне форума Ответить с цитированием
Старый 17.02.2014, 17:46   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Много лишнего в результате:
PHP код:
$text "[ru] Название [ru] Описание [ru]";
$buf_text_ru explode("[ru]",  $text);  
var_dump($buf_text_ru); 
Вывод:
PHP код:
array
  
=> string '' (length=0)
  
=> string ' Название ' (length=18)
  
=> string ' Описание ' (length=18)
  
=> string '' (length=0
Andkorol вне форума Ответить с цитированием
Старый 18.02.2014, 22:02   #5
vasiatka
Пользователь
 
Аватар для vasiatka
 
Регистрация: 18.02.2014
Сообщений: 90
По умолчанию

Регулярные выражения новичкам не всегда понятны.
А код автора имеет место быть. Только если пустые значения не нужны - их надо отфильтровать. Примерно так:
PHP код:
$text "[ru] Название [ru] Описание [ru]";
$buf_text_ru array_filter(explode("[ru]",  $text),function (&$a) {if(trim($a)!="") return true;});
var_dump($buf_text_ru); 
Получилось не намного длиннее.
В бинарной системе счет ведут не по пальцам, а по кулакам.
Пенза - мой город - я из Пензы.

Последний раз редактировалось vasiatka; 18.02.2014 в 22:06.
vasiatka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить строку redenemy Общие вопросы C/C++ 1 29.05.2012 01:06
разбить строку Ceprey Общие вопросы C/C++ 10 24.12.2009 20:47
Разбить строку в delphi severin Помощь студентам 2 12.11.2009 12:03
C++: разбить строку на подстроки apromix Помощь студентам 2 04.10.2009 01:07
Разбить строку на 2 части 7KByte Общие вопросы C/C++ 6 31.05.2009 16:51