Группа: uCoz Team
Сообщений: 956
Статус: отсутствует
| Вопрос: У меня вопрос, можноли скрыть кое какую информацию, по региональному признаку (к примеру для всех стран кроме RU), с помощью условных операторов? Есле можно то как это сделать в средствах UCOZ? Ответ:, 1) Можно спросить на хелпере, по-моему там был такой скрипт… 2) Можно вывести с помощью strpos из кода $IP_ADDRESS$ значение подсети и сравнить его со значениями подсетей провайдеров России (поставив противительное условие, т. е. "если не равно"). Вот в общем код выводящий подсеть для IP адреса вида nnn.nnn: Code <?substr($IP_ADDRESS$,0,6)?> Для IP адреса вида nn.nnn и nnn.nn: Code <?substr($IP_ADDRESS$,0,5)?> Для IP адреса вида nn.nn: Code <?substr($IP_ADDRESS$,0,4)?> Вот код, который сам определяет маску IP адреса и выводит подсеть: Code <?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDRESS$)),'.'))='3' and (strpos($IP_ADDRESS$,'.'))='2'?><?substr($IP_ADDRESS$,0,6)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='2' and (strpos($IP_ADDRESS$,'.'))='3'?><?substr($IP_ADDRESS$,0,6)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='2' and (strpos($IP_ADDRESS$,'.'))='2'?><?substr($IP_ADDRESS$,0,5)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='3' and (strpos($IP_ADDRESS$,'.'))='3'?><?substr($IP_ADDRESS$,0,7)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='3' and (strpos($IP_ADDRESS$,'.'))='1'?><?substr($IP_ADDRESS$,0,5)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='1' and (strpos($IP_ADDRESS$,'.'))='3'?><?substr($IP_ADDRESS$,0,5)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='2' and (strpos($IP_ADDRESS$,'.'))='1'?><?substr($IP_ADDRESS$,0,4)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='1' and (strpos($IP_ADDRESS$,'.'))='2'?><?substr($IP_ADDRESS$,0,4)?><?endif?><?if(strpos(substr($IP_ADDRESS$,strpos($IP_ADDRESS$,'.')+1,len($IP_ADDR ESS$)),'.'))='1' and (strpos($IP_ADDRESS$,'.'))='1'?><?substr($IP_ADDRESS$,0,3)?><?endif?> Условия, например для IP адреса вида nn.nnn или nnn.nn будет такое: Code <?if(substr($IP_ADDRESS$,0,5)='11.111')?>Текст<?endif?> Это означает, что будет такое условие: если подсеть айпи равна 11.111 то будет выводить "Текст".
Сообщение отредактировал uCoz-XPert - Среда, 11-Ноя-2009, 19:20:31 |