Вопрос № 124269: Скачал с инета скрипт php меню, подключил его к своим классам и вставил в веб-страницу пример использования из комментария к скрипту.
Работать почему-то не стал. то есть меню появилось, но не выплывающее, а статическое и рядом выводит ошибки...Вопрос № 124270: ВВ-код: как сделать свой? Каков алгоритм - это ведь не только примитивная замена угловых скобок на квадратные и наоборот?...Вопрос № 124302: Здравствуйте. Подскажите пожалуйста скрипт сложения дат (прибавление к дате количество дней) на php. Только даты, время не надо и sql не надо. Что-то типа
$d=date("2008-02-22"); $ofset=2; sumdate($d,$ofset) дает результат 2008-02-24, также ...
Вопрос № 124.269
Скачал с инета скрипт php меню, подключил его к своим классам и вставил в веб-страницу пример использования из комментария к скрипту.
Работать почему-то не стал. то есть меню появилось, но не выплывающее, а статическое и рядом выводит ошибки
Undefined offset: 0 in z:home est1.rueqPopupMenu.class on line 102
Undefined offset: 1 in z:home est1.rueqPopupMenu.class on line 102
Undefined offset: 3 in z:home est1.rueqPopupMenu.class on line 102
то есть из четырех пунктов один все-таки был обработан без ошибки.
Помогите пожалуйста.
Приложение:
Отправлен: 21.02.2008, 19:11
Вопрос задал: Schel4ok (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Serge R. Bochkareff
Здравствуйте, Schel4ok!
Notice появляются из-за того, что в массиве нет таких данных с необходимыми ключами.
По хорошему надо поменять проверку на 102 строчке. (см приложение)
На вопрос почему не работает - смотрите дебаггом типа firebug к firefox, ie developer toolbar к IE , или в opera средство для разработчика
Приложение:
Ответ отправил: Serge R. Bochkareff (статус: 1-ый класс)
Ответ отправлен: 22.02.2008, 13:43
Вопрос № 124.270
ВВ-код: как сделать свой? Каков алгоритм - это ведь не только примитивная замена угловых скобок на квадратные и наоборот?
Отправлен: 21.02.2008, 19:28
Вопрос задал: magnifiko (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Николай Владимирович / Н.В.
Здравствуйте, magnifiko! Для кодов, которые идентичны html-тегам (b, i, u, s, sub, sup,...), это будет просто замена скобок, а для более сложных - ссылки, например, это будет замена в тексте bb-кодов (в квадратных скобках) на html-теги по регулярному выражению. В приложении пример замены обычных bb-кодов (правильная и как лучше не делать) и замена ссылок.
Удачи!
Приложение:
Ответ отправил: Николай Владимирович / Н.В. (статус: Профессионал) Россия, Москва WWW:nvsoft.org ICQ: 420720 ---- Ответ отправлен: 21.02.2008, 20:06 Оценка за ответ: 5 Комментарий оценки: Спасибо за короткий и чёткий ответ! Именно проверка парности тегов меня в первую очередь и беспокоила.
Отвечает: Товарищ Бородин / Borodul
Здравствуйте, magnifiko!
Не хочется Вас разочаровывать, но в простейшем случае BB-код - это действительно замена квадратных скобок на угловые. Однако, если мы захотим использовать какие-нибудь свои хитрые теги, выполняющие какое-либо специфическое форматирование(а что, зачастую такое встречается!), то требуется нечто большее, чем функция preg_replace. Нужно в таком случае писать свой собственный парсер(препроцессор) ВВ-кода. Например, если у нас есть конструкция [javascript][/javascript], в которую мы заключаем код javascript, то нетрудно
заметить, что когда выполнится простая замена квадратных скобок, получится непонятная для браузера конструкция. В данном случае следует помимо замены скобок еще внести изменения в название элемента - сказать, что его зовут <script language="javascript"> на самом деле.
Ответ отправил: Товарищ Бородин / Borodul (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ICQ: 346988855 ---- Ответ отправлен: 21.02.2008, 20:07 Оценка за ответ: 5 Комментарий оценки: Спасибо.
Вопрос № 124.302
Здравствуйте. Подскажите пожалуйста скрипт сложения дат (прибавление к дате количество дней) на php. Только даты, время не надо и sql не надо. Что-то типа $d=date("2008-02-22"); $ofset=2; sumdate($d,$ofset) дает результат 2008-02-24, также и с разностью дат тоже надо. Спасибо.
Отправлен: 21.02.2008, 23:35
Вопрос задал: piit (статус: Практикант)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Товарищ Бородин / Borodul
Здравствуйте, piit!
Элементарно! Переводим дату в timestamp, прибавляем нужное количество дней, помноженное на 86400(число секунд в сутках), переводим обратно в дату.
Пример:
<?php
function addSomeDays($current_date,$number_of_days) {
// Дату следует задавать в формате YYYY-MM-DD
$old_timestamp = strtotime($current_date);
$new_timestamp = $old_timestamp + $number_of_days * 86400;
return date("Y-m-d",$new_timestamp);
}
Ответ отправил: Товарищ Бородин / Borodul (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ICQ: 346988855 ---- Ответ отправлен: 22.02.2008, 07:40 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Загиров Рустам / Stamm
Здравствуйте, piit!
Вот функция, в которой указывается
$now_date - текущая дата, относительно которой производится смещение
$ofset_days - разница в днях
$how может принимать 2 вида: "+" прибавление и "-" вычитание ;
Примеры:
print changeDate('2008-02-22',2);
//выведет 2008-02-24
print changeDate('2008-02-22',2,'-');
//выведет 2008-02-20