Выводится результат вычисления выражения, заключенного в специальные скобки <? и ?>. Выражение может содержать математические операции, операции сравнения, вызовы функций.
В выражениях используются 3 типа операндов: строковые (задают текст, в функциях выделяются одинарными или двойными кавычками, например 'Пример'), целочисленные (задают целое число от -9223372036854775808 до 9223372036854775807) и дробные (задают дробное число, обязательно ставится точка разделяющая целую и дробную часть, например: 123.45 или 10.0).
Можно реализовать например арифметические выражения:
3 плюс 2 равно <? 3+2 ?> Выведет: 3 плюс 2 равно 5
Через 10 лет будет <? $YEAR$+10 ?> год Выведет (для $YEAR$ равного 2010): Через 10 лет будет 2020 год
В арифметических выражениях могут быть использованы:
+, -, * - арифметическое сложение, вычитание и умножение соответственно. Если оба операнда целочисленные, то результат также будет целочисленным (не должен выйти за диапазон целочисленных значений); / - арифметическое деление. Результат всегда дробный; % - остаток от деления. Операнды приводятся к целым числам. Результат всегда целочисленный Например: Остаток от деления 10 на 3 будет равен <? 10%3 ?> Выведет: Остаток от деления 10 на 3 будет равен 1; ** - операция возведения в степень. Первый операнд (должен быть положительным) возводится в степень второго. Результат всегда дробный. Например: 10 в 3 степени равен <? 10**3 ?> Выведет: 10 в 3 степени равен 1000;
Выражения вычисляются с учетом приоритетов операций. Приоритетом можно управлять с помощью круглых скобок (выражение <?2 * (5 + 3)?> возвратит 16). При отсутствии скобок приоритет операторов определяется следующей таблицей (в порядке уменьшения приоритета):
унарный +, унарный -, ~, not, !, все функции
**
*, /, %
+, -
=, ==, !=, <=, <, >=, >
&
|, ^
&&, and
||, or
Функции:
int N , int(N) - Возвращает целую часть числового параметра N, полученную округлением в сторону нуля.
Сейчас на сайте $ONLINE_COUNTER$ человек, <? int($ONLINE_COUNTER$/2) ?> это половина от их числа Выведет (для $ONLINE_COUNTER$ равного 15) Сейчас на сайте 15 человек, 7 это половина от их числа
abs N, abs(N) - Возвращает абсолютное значение (модуль) числового параметра N. Если число целое, то результат также будет целым. Иначе дробным.
С момента годовщины Вашей регистрации прошло <? abs(365-$USER_REG_DAYS$) ?> дней Выведет (для $USER_REG_DAYS$ равного 540) С момента годовщины Вашей регистрации прошло 175 дней
rnd( ), rnd N, rnd(N) - Возвращает случайное число. Если параметр отсутствует или равен 0, то возвращается дробное число от 0 включительно до 1 не включительно. Если параметр целочисленный (не равный 0), то возвращается целое число от 0 до N-1 включительно при N>0, и число от N+1 до 0 включительно при N<0. Иначе параметр приводится к дробному числу и умножается на случайное дробное число от 0 включительно до 1 не включительно.
Например: <? rnd ?> вернет дробное число от 0 включительно до 1 не включительно <? rnd 10 ?> вернет целое число от 0 до 9 включительно. <? rnd 10.0 ?> вернет дробное число от 0 до 10 не включительно.
len S, len(S) - Возвращает длину строкового параметра. Результат всегда целое число.
Длина Вашего логина <? len($USERNAME$) ?> знаков Выведет (для $USERNAME$ равного 'Admin') Длина Вашего логина 5 знаков
strpos(S1,S2) - Ищет первое вхождение строки S2 в строку S1, проходя от начала S1 к концу. Сравнение производится с учетом регистра. Оба параметра должны быть заданы как строки (или как результат вызова функции, возвращающей строку). Поиск ограничен первыми 1000 символами строки S1. Сравнение ограничено первыми 100 символами строки S2. Возвращает целое число - позицию строки S2 от начала S1, считая от 0. Если вхождение не найдено, возвращает -1.
Например: <?strpos('Васяся','ся')?> возвратит 2,
для $USERNAME$ равного 'Админ': <?strpos($USERNAME$,'ми')?> возвратит 2, а для $USERNAME$ равного 'Митя': <?strpos($USERNAME$,'ми')?> возвратит 0.
strrpos(S1,S2) - Аналогична strpos, но ищет последнее вхождение S2. Поиск ограничен последними 1000 символами строки S1.
<?strpos('Васяся','ся')?> возвратит 4.
substr(S,N1,N2), substr(S,N1) - Возвращает подстроку из строки S, начиная с позиции N1 (первый символ имеет позицию 0), длиной N2 символов. Параметр S должен быть задан как строка (или как результат вызова функции, возвращающей строку). N1 и N2 приводятся к целым значениям. Если N2 не указан, то возвращается подстрока с позиции N1 до конца строки S. Если N1 отрицателен, то начальная позиция отсчитывается от конца строки S. Если N2 отрицателен, то задает конечную позицию от конца строки S.
А вот ещё такой вопрос: можно ли на сайте держать базу дней рождений и выводить сообщения кому скоро ДР. Я так понимаю, что это как-то реально сделать, если пользователи зарегистрировались и указали дату рождения, а мне надо, чтобы у меня была своя база ДР, даже если нет регистрации на сайте. Возможно такое?
можно ли на сайте держать базу дней рождений и выводить сообщения кому скоро ДР. Я так понимаю, что это как-то реально сделать, если пользователи зарегистрировались и указали дату рождения,
Думаю что это вполне возможно, необходимо писать скрипт, я в этом вопросе не помощник.
Quote (shako)
а мне надо, чтобы у меня была своя база ДР, даже если нет регистрации на сайте. Возможно такое?
На сайте маловероятно. А если вести базу ДР своих друзей и родственников, то для этого существуют программы специально под это заточенные, всякого рода органайзеры. Одна голова хорошо, а на плечах лучше...
Alex а как вы сделали у себя на сайте "Сайт живет уже 127-й день" ???
В нужном месте вставляем следующий код
Code
<?$WIDGET$('8','2010|8|15|Сайт живет уже <b>%N%</b>-й день')?>
Где 2010|8|15 - год|номер месяца|число создания сайта Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Что означают числа в блоге "Статистика": UCOZ 36058, Hits 670, Hosts 136 ???
36000 общее число посещений сайта (с момента активации статистики по наст. время). Хитс - чосло посещений страниц за день на текущее время (с 0 ч по наст время) Хостс - число уникальных IP (компов) зашедших на сайт за день (с 0 ч по наст время) Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Что означают числа в блоге "Статистика": UCOZ 36058, Hits 670, Hosts 136
Александр все правильно описал. Хотелось бы только поправить, не посещений, а просмотров страниц. Такой термин принято использовать Одна голова хорошо, а на плечах лучше...
Кстати, сайты на юкозе умеют делать RSS ленту по обновлениям?
Если вы имеете в виду вновь добавленные материалы? То, да. Обратите внимание на строку в шапке "Вы вошли как .............. | Группа ".............." | RSS". Попробуйте пройдитесь по всем модулям сайта, "методичке", каталогу сайтов, фотоальбому и др. И нажимайте на "RSS", как раз и будут открываться последние загруженные материалы, вот только на форуме не удобно, отображается только заголовки последних обновленных тем. Кстати, вот наша rss лента на другом сайте http://fantazery.moy.su/index/0-61
Если вы имеете в виду вновь добавленные материалы? То, да. Обратите внимание на строку в шапке "Вы вошли как .............. | Группа ".............." | RSS"
Все, увидел. Эта опция заложена по умолчанию. Очень хорошо. Просто классно!
Сделать на юкозе пустой по информации сайт, который выводил бы все RSS ленты всех образовательных сайтов по учебным материалам. Здесь и не только. Сортированные уже по разделам и/или темам. Зашел и видишь: что у кого появилось. А если эти ленты сохранять в базу, то скоро сама по себе нарисуется поисковая машина по материалам образовательных сайтов. И не надо ставить сканеры, покупать безумный по мощности хостинг, особо следить за работой. Кстати, какая частота обновления RSS лент здесь? Это настраивается?
Сделать на юкозе пустой по информации сайт, который выводил бы все RSS ленты всех образовательных сайтов по учебным материалам. Здесь и не только. Сортированные уже по разделам и/или темам. Зашел и видишь: что у кого появилось. А если эти ленты сохранять в базу, то скоро сама по себе нарисуется поисковая машина по материалам образовательных сайтов. И не надо ставить сканеры, покупать безумный по мощности хостинг, особо следить за работой.
Все это легко реализуется, за исключением выделенной части, в базу сохранять возможно будет только вручную. Чтобы сохранять автоматически, нужно чтобы на сервере запускался скрипт и сохранял. Одно из правил юкоза, никаких скриптов пользователей на сервере.
Quote (Solovey)
Кстати, какая частота обновления RSS лент здесь? Это настраивается?
Не знаю, но довольно быстро, только я написал в теме, а она в rss ленте поднялась на 1 позицию. И не настраивается. Одна голова хорошо, а на плечах лучше...
Solovey писал(а):Кстати, какая частота обновления RSS лент здесь? Это настраивается? Не знаю, но довольно быстро, только я написал в теме, а она в rss ленте поднялась на 1 позицию. И не настраивается.
У ленты ротация по количеству строк или по дате?
Quote (ToGooZoff)
Все это легко реализуется, за исключением выделенной части, в базу сохранять возможно будет только вручную.
Я, конечно, найду сейчас (даже нахаляву) место на серваке у приятелей под базу, но тогда и скрипты туда надо пихать. В том числе поисковый. Получится, что проще сайт там поднять. На том же Битриксе. А возиться-то неохота...