Всем привет!
Мне нужно сделать так, чтобы регулярное выражение меняло даты на английском языке на даты на русском языке. Я сделал скрипт, но он ничего не меняет и даже ошибка не выводится. Вот скриптКод:В чем ошибка?<?php $monthEn = array( '#Jan#', '#Feb#', '#Mar#', '#Apr#', '#May#', '#Jun#', '#Jul#', '#Aug#', '#Sep#', '#Oct#', '#Nov#', '#Dec#' ); $dayEn = array( '#Mon#', '#Tue#', '#Wed#', '#Thu#', '#Fri#', '#Sat#', '#Sun#' ); $monthRu = array( 'Янв', 'Фев', 'Мар', 'Апр', 'Мая', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек' ); $dayRu = array( 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс' ); $Date = $item->pubDate; $Date = preg_replace($monthEn, $monthRu, $Date); $Date = preg_replace($dayEn, $dayRu, $Date); echo '<br><div id="post-link"><a href="'.$item->link.'">'.$item->pubDate.'</a></div>'; ?>
- 19.07.2011 00:11
- Регистрация: 30.05.2011
- Сообщений: 27
- Репутация: 0
- 19.07.2011 00:23
- Регистрация: 29.11.2009
- Сообщений: 131
- Репутация: 32
А зачем тут регулярные выражения, просто функции замены строк же можно использовать http://php.net/manual/en/function.strtr.php например.
Спасибо сказали:
ololo(19.07.2011), - 19.07.2011 14:26
ololo, попробуйте вывести переменную $Date после строки $Date = $item->pubDate; и посмотрите какое значение оно получает. Возможно где-то ошибка или замена рано совершается.
Лучший хостинг для ваших сайтов + 30 дней бесплатно! - 19.07.2011 14:30
- Регистрация: 30.05.2011
- Сообщений: 27
- Репутация: 0
Twin, уже все сделал, ошибку нашел. Она была не в выражении, я вместо переменной $Date, где все и заменялось выводил $item->pubDate, а там ничего не менялось. Короче, не заметил я ошибки.
- 20.07.2011 12:38
Вообще в данном случае лучше все делать через str_replace - это быстрее, чем preg_*
Надо только составить 2 массива одинакового размера.
<?php
$pattern = array( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' );
$replacement = array( 'Янв', 'Фев', 'Мар', 'Апр', 'Мая', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс' );
$Date = str_replace($pattern , $replacement , $item->pubDate);
echo '<br><div id="post-link"><a href="'.$item->link.'">'.$Date.'</a></div>';
?>Парам-пам-пам!
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Ошибка яндекса | Поисковые системы | 2 | 14.04.2011 17:16 |
Ошибка 404 | Web программирование | 5 | 22.12.2010 08:18 |
Ошибка: Внутренняя ошибка Remote service dnsmgr return error. Code 100 | Вопросы от новичков | 0 | 18.10.2009 00:05 |