Вы не зашли.

#1 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Ребята, помогите найти скрипт (или может кто для себя писал) для замены слов с одного на другое при полной загрузке страницы...
Идеально было бы указать ID где будем менять и конструкцию примерно такого вида:

что менять : на что менять
огурец : помидор,
яблоко : ананас,
...


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#2 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18830
На форуме: 1819 час.
Репутация: 1244 (99%) ±
Инфо  Вебсайт  Написать

$a=array();
$a['огурец']='помидор';
$a['ананас']='яблоко';

$html=str_replace(array_keys($a),$a,$html);

как то так
тьфу... яваскрипт, вот)

var a=[];
a['огурец']='помидор';
a['ананас']='яблоко';

var html='тест огурец и ананас';
for (k in a) {html=html.replace(new RegExp(k, 'g'),a[k]);}

но не тестил


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Неактивен

#3 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Dimitry, можно пример использования?

Пробовал так (содержимое файла index.php):

<?php get_header(); ?>
Фая
<?php
$a=array();
$a['Фая']='Фая2';
$a['ананас']='яблоко';
$html=str_replace(array_keys($a),$a,$html);
?>
<?php get_footer(); ?>

Открыл страницу - ничего не поменялось!

На JS все работает, но не так как надо ибо не заменяет, а добавляет еще и новый вариант...

Отредактированно ZloVeЩиЙ (2013-07-08 19:32:48)


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#4 

Trilby
miss me?
Имя: Алексей
Откуда: Default City
Зарегистрирован: 2006-08-01
Сообщений: 8483
На форуме: 799 час.
Репутация: 766 (94%) ±
Инфо  Вебсайт  Написать

ZloVeЩиЙ, либо php, либо js...

В JS у тебя одна строчка не правильная... Надо не печатать, а обновлять содержание блока inc.

Пример: http://jsfiddle.net/gtjGy/

Отредактированно Trilby (2013-07-08 19:41:00)

Неактивен

#5 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

На JS вариант работает и вроде бы устраивает, но как быть с теми элементами которые сами вставляются в код подобным методом (например тем же InerHtml).
Грубо говоря есть jquery библиотека, подключаем её, прописываем:

В итоге получаем погоду на сайт, которую можно настроить как душе угодно... смотрим html
<div id="include"></div> - пустой.
Смотрим через разработчика:
http://imgs.su/tmp/2013-07-08/1373298826-575.jpg
Видно что внутри нашего блока появилось еще "пачка" каждый за что-то отвечает...
Но вот как поменять их содержимое?

p.s. Смотрел сам файл, думал внутри смогу поменять, но там тоже все как - то хитро устроено, насколько я понял - идет парсер (на Json) переменных и прочих значений!

Отредактированно ZloVeЩиЙ (2013-07-08 19:59:23)


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#6 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

ZloVeЩиЙ, JS берёт из DOM т.е. то что режиме разработчика, вопрос в том как запустить нужный скрипт только тогда, когда содержимое станет заполнено
ИМХО проще скрипт переписать, чем мастерить костыли)))

Отредактированно Pegass (2013-07-08 22:29:57)


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#7 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Не думаю что в моем случае будет проще переписать...
Скрипт парсит инфу с забугорного yahoo, все что мне нужно - заменить Mon-Sun на Понедельник-Воскресенье, аналогично с месяцами.
Да и если

берёт из DOM т.е. то что режиме разработчика

тогда почему не происходит замена?
или ты "прощелекал" не дописать (:


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#8 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Сообщение от ZloVeЩиЙ:

Не думаю что в моем случае будет проще переписать...
Скрипт парсит инфу с забугорного yahoo, все что мне нужно - заменить Mon-Sun на Понедельник-Воскресенье, аналогично с месяцами.
Да и если

берёт из DOM т.е. то что режиме разработчика

тогда почему не происходит замена?
или ты "прощелекал" не дописать (:

наверное потому что он пытается заменить до того как содержимое появилось или содержимое само обновляется аяксом


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#9 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Сообщение от ZloVeЩиЙ:

все что мне нужно - заменить Mon-Sun на Понедельник-Воскресенье, аналогично с месяцами.

И всего то, дай ка мне список что на что менять, всм как оно написано сейчас и как должно быть)))

UP
перевод блоков weatherDesc, weatherForecastText и weatherCity пихать в массив t[]
http://imgs.su/users/31333/1373312951.zip

Отредактированно Pegass (2013-07-08 23:49:11)


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#10 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Вот только по твоему методу не все поменять получается, например a[g].text
Хотя я и делал все по аналогии:
1. создал масив

var t2=new Array();t2['Showers Early']='Ранние дожди';t2['Partly Cloudy']='Переменная облачность';t2['Mostly Sunny']='Солнечно';

2. поменял a[g].text на w_rus(a[g].text,true) но так ничего и не поменялось sad


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#11 

Trilby
miss me?
Имя: Алексей
Откуда: Default City
Зарегистрирован: 2006-08-01
Сообщений: 8483
На форуме: 799 час.
Репутация: 766 (94%) ±
Инфо  Вебсайт  Написать

Вообще, когда такое пишут, то как минимум копируют ошибки из консоли (ctrl+shift+j), а как максимум — дают ссылку на страницу с примером...

Если функция выполняется при загрузке страницы (а не при вызове пользователем), то косяк в том, что данные в <div id="include"></div> просто не успевают загружаться.
Я этого говна нахлебался, когда писал первые запросы на AJAX.

Лечил я примерно так:
Внутри $(document).ready, в самом низу (вообще, любые подобные коды пиши в document ready)

Не помню, почему писал именно 2 функции, но в одну меня и не работало (хотя, может быть из-за того, что я это делал в Prototype)...
Если заработает такой вариант, то на здоровье.

Суть в том, что одновременно выполняется скрипт, заполняющий блок и твой код. Если первый не успел выполниться (а так бывает, в принципе, всегда), то второй ничего не может сделать и выдает ошибку. Мы ловим ошибку, и через 300 мс пробуем еще раз. И так пока не получится

Отредактированно Trilby (2013-07-09 01:51:26)

Неактивен

#12 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Ничего не приводил в примеры, потому как ответа от !Pegass не ожидалось, а делал все по аналогии к тому, что он мне скинул выше...
Сегодня уже не буду ковырять это все дело, а завтра гляну и твой пример, кстати за него спасибо отдельное!


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#13 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Сообщение от ZloVeЩиЙ:

Вот только по твоему методу не все поменять получается, например a[g].text
Хотя я и делал все по аналогии:
1. создал масив

var t2=new Array();t2['Showers Early']='Ранние дожди';t2['Partly Cloudy']='Переменная облачность';t2['Mostly Sunny']='Солнечно';

2. поменял a[g].text на w_rus(a[g].text,true) но так ничего и не поменялось sad

РРР нафига ж ты создал массив t2[] пихай всё в массив t[]


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#14 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Как нафига? Ты ж тоже создал t1 для месяцев, а в t  у тебя дни.. или я чего то не догоняю!?
Пытался после Воскресенья добавить:

собственно ничего (:
Я конечно менял кое-чего под себя, но вроде как ничего жизненно важного не задел ибо все работает да и ошибок нет...
http://imgs.su/users/44159/1373377619.zip

Отредактированно ZloVeЩиЙ (2013-07-09 17:48:19)


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

#15 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

ZloVeЩиЙ, t1 я создал потому что там надо не целиком заменять(можно было всё так сделать, но я решил перестраховаться)))))
А вот исправлять надо аккуратнее))))
Получите и распишитесь
http://imgs.su/users/31333/1373385340.zip


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#16 

ZloVeЩиЙ
Профи
Имя: Andrew
Зарегистрирован: 2008-01-15
Сообщений: 6702
На форуме: 1484 час.
Репутация: 448 (85%) ±
Инфо  Вебсайт  Написать

Значит все таки я упустил что-то при редактировании)
не без твоей помощи, теперь на сайте красуется полностью русифицированный погодный информер

Показать / Cкрыть текст


[img]http://imgs.su/tmp/1315727312-616.jpg[/img] - use it.

Неактивен

[ Generated in 0.009 seconds, 11 queries]