Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобраться с массивом.
 
 автор: un_named   (04.07.2007 в 13:34)   письмо автору
 
 

С JavaScript столкнулся впервые и по необходимости, раньше с ним не работал, так что не шарю. Скриптом необходимо заменить английские названия месяцев на русские. Конструкция [*date*] - получаемая из базы дата в формате "14 June", допустим.
Проблема в том, что выводится 12 значений и это естественно:
"14 June14 June14 June14 June14 June14 июня14 June14 June14 June14 June14 June14 June"
шестой элемент он меняет верно, так как элементы массива совпадают.
А вот как сделать чтобы выводилась только один измененный элемент: "14 июня"??
Подскажите пожалуйста.


<script language="JavaScript">
var d_date = "[*date*]";
var d_eng_month=new Array();
d_eng_month[0]="January";
d_eng_month[1]="February";
d_eng_month[2]="March";
d_eng_month[3]="April";
d_eng_month[4]="May";
d_eng_month[5]="June";
d_eng_month[6]="July";
d_eng_month[7]="August";
d_eng_month[8]="September";
d_eng_month[9]="October";
d_eng_month[10]="November";
d_eng_month[11]="December";
var d_rus_month=new Array();
d_rus_month[0]="января";
d_rus_month[1]="февраля";
d_rus_month[2]="марта";
d_rus_month[3]="апреля";
d_rus_month[4]="мая";
d_rus_month[5]="июня";
d_rus_month[6]="июля";
d_rus_month[7]="августа";
d_rus_month[8]="сентября";
d_rus_month[9]="октября";
d_rus_month[10]="ноября";
d_rus_month[11]="декабря";
for (i=0; i<d_eng_month.length; i++)
document.write(d_date.replace(d_eng_month[i],d_rus_month[i]));
</script>

   
 
 автор: un_named   (04.07.2007 в 14:22)   письмо автору
 
   для: un_named   (04.07.2007 в 13:34)
 

Или может подскажите как это сделать по-другому...

   
 
 автор: un_named   (04.07.2007 в 15:35)   письмо автору
 
   для: un_named   (04.07.2007 в 13:34)
 

Вот так работает:

<script language="JavaScript">
var d_date = "[*date*]";
var January = /January/gi;
var February = /February/gi;
var March = /March/gi;
var April = /April/gi;
var May = /May/gi;
var June = /June/gi;
var July = /July/gi;
var August = /August/gi;
var September = /September/gi;
var October = /October/gi;
var November = /November/gi;
var December = /December/gi;
if (d_date.substring(3,10)=="January") document.write(d_date.replace(January, "января"));
if (d_date.substring(3,11)=="February") document.write(d_date.replace(February, "февраля"));
if (d_date.substring(3,8)="March") document.write(d_date.replace(March, "марта"));
if (d_date.substring(3,8)="April") document.write(d_date.replace(April, "апреля"));
if (d_date.substring(3,6)="May") document.write(d_date.replace(May, "мая"));
if (d_date.substring(3,7)=="June") document.write(d_date.replace(June, "июня"));
if (d_date.substring(3,7)="July") document.write(d_date.replace(July, "июля"));
if (d_date.substring(3,9)="August") document.write(d_date.replace(August, "августа"));
if (d_date.substring(3,12)="September") document.write(d_date.replace(September, "сентября"));
if (d_date.substring(3,10)="October") document.write(d_date.replace(October, "октября"));
if (d_date.substring(3,11)="November") document.write(d_date.replace(November, "ноября"));
if (d_date.substring(3,11)="December") document.write(d_date.replace(December, "декабря"));
</script>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования