[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что то не так )
OneFinal
есть большой файл с строчками вида
insert into top (name,site,chronicle,rates,date,disable) VALUES('l2frost.net','l2frost.net','6','2000','08.02.2013','0');


но дата тут не такая как должна быть

'08.02.2013


пытаюсь её изменить вот таким способом
$a = preg_match_all("/([0-2]\d|3[01])\.(0\d|1[012])\.(\d{4})/", $text, $matches);
//print_r($matches);

$date1 = $matches['1']['0'];
$date2= $matches['2']['0'];
$date3= $matches['3']['0'];
$date = $date1.".".$date2.".".$date3;
$normaldate = $date3.".".$date2.".".$date1;
$text=preg_replace("^".$date."^",$normaldate,$text);


но меняет только одну строчку
innovate
Цитата
но дата тут не такая как должна быть

Какая должна быть?

PS. johniek_comp, Чего пост удалил? biggrin.gif
OneFinal
2013.03.23
arlamar
preg_replace('/(.*)(\d{2})\.(\d{2})\.(\d{4})(.*)/', '$1$4.$3.$2$5', $text);
OneFinal
Цитата (arlamar @ 8.03.2013 - 12:00)
preg_replace('/(.*)(\d{2})\.(\d{2})\.(\d{4})(.*)/', '..', $text);

Спасибо, не знал о таком способе
inpost
explode по точке... и регулярки не нужны.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
arlamar
Inpost,
Зачем explode если есть регулярки?
И ещё, как без регулярки найти нужный кусок строки а затем его заменить?
Valick
arlamar, затем что регулярки надо использовать только там где без них не обойтись


_____________
Стимулятор ~yoomoney - 41001303250491
arlamar
Почему? И где грань когда обойтись и когда нет?
Тогда уж почти всё можно распарсить на массивах с explode, но мы же используем регулярки. Как раз недавно переделывал несколько парсеров с эксплодов на регулярки. Скажу я вам, кода раз в 5 меньше, да и понятнее как-то, что и где происходит.

Может дело в быстродействии? Я недавно начал заниматься регулярками, парсерами и не вникал в вопросы быстродействия.
Valick
Цитата
Может дело в быстродействии?

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


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.