|
|
|
| Подскажите пожалуйста как разбить строку по всем запятым перед которыми не стоит обратный слеш. | |
|
|
|
|
|
|
|
для: Kroshemin
(06.04.2007 в 18:58)
| | Хм. А зачем у вас вообще перед запятыми стоит слеш? | |
|
|
|
|
|
|
|
для: Poison
(06.04.2007 в 19:05)
| | Не хочу вдаваться в подробности, но в общем мне нужно принять несколько символов за специальные и соответственно экранировать все их строчные применения. Запятая просто пример. | |
|
|
|
|
|
|
|
для: Kroshemin
(06.04.2007 в 18:58)
| |
<?php
$str = 'строка ,с \,экранированными\, запятыми, разберём';
function quote(&$str) { $str = str_replace(",", '\,', $str); }
$str = str_replace('\,', ",", $str);
$expld = explode(',', $str);
array_walk($expld, 'quote');
print_r($expld);
|
| |
|
|
|
|
|
|
|
для: Саня
(06.04.2007 в 19:38)
| | Всё гениальное просто, однако.
Громадное спасибо!
Виноват, обычно не задаю дурных вопросов — затмение какое-то было. | |
|
|
|
|
|
|
|
для: Саня
(06.04.2007 в 19:38)
| | Интересно а нет ли регулярного выражения которое соответствовало бы запятой и проверяло нет ли перед ней слеша. | |
|
|
|
|
|
|
|
для: Kroshemin
(06.04.2007 в 19:57)
| | Есть
<?php
$str = 'строка ,с \,экранированными\, запятыми, разберём';
$pattern = '|(?<!\\\),|i';
$arr = preg_split($pattern, $str);
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
Три обратных слеша - это для windows, в UNIX нужно будет два оставить... | |
|
|
|