Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Регулярка


Автор: Avrely 8.3.2010, 23:46
Здравствуйте.
Есть строка
Код

"Москва", "С.Петербург", "Ростов"


Каким выражением занести Москва, С.Петербург, Ростов в массив.
Заранее спасибо.

Автор: bars80080 8.3.2010, 23:50
по-моему, проще распарсить двумя explode

Код

$str = '"Москва", "С.Петербург", "Ростов"';
$a = explode(',', $str);
$arr = array();
foreach($a as $v) {
    $b = explode('"', $v);
    if(isset($b[1])) $arr[] = $b[1];
}

Автор: Avrely 8.3.2010, 23:57
Проблема в том, что пишу на TCL. Там нет функции подобной explode в php, но есть regexp.

Автор: Kano 9.3.2010, 00:47
Выражением в массив занести нельзя, можно какой-то функцией занести в массив. То есть если там есть аналог preg_match_all(), то используй его, в противном случае пиши свой.

Добавлено через 4 минуты и 11 секунд
PCRE-выражение, на всякий случай: /"(.+?)"/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)