Выравнивание таблицы по центру
Время от времени на HTML страничках наблюдаю такую конструкцию:
<center> <table> ... </table> </center>
Так делать неправильно - тег center устаревший и не рекомендуется с употреблению:
The CENTER element is exactly equivalent to specifying the DIV element with the align attribute set to "center". The CENTER element is deprecated [p.38] .
Как тогда выравнять табличку по центру? Да очень просто:
<table style="margin:0 auto"> ... </table>
Указанный код работает во всех основных браузерах.
Переадресация сервера с www на сервер без www
Задача, есть сайт, допустим www.maxistar.ru, хотим чтобы при заходе на www.maxistar.ru пользователь перебрасывался на maxistar.ru автоматически, ну или же наоборот, кому как нравится.
Как любую техническую задачу эту задачу можно решить несколькими способами. Один из вариантов написать функцию на PHP, однако сегодня нашел рецепт с использованием mod_rewrite:
RewriteEngine on
RewriteCond %{http_host} ^www.maixstar.ru [nc]
RewriteRule ^(.*)$ http://maxistar.ru/$1 [r=301,nc]
HTML - спецсимволы
Так на всякий случай, может пригодиться:
| Название | Символ | Числовой код | Мнемонический код |
| Прямая кавычка | “ | " | " |
| Амперсанд | & | & | & |
| знак «меньше» | < | < | < |
| Знак «больше» | > | > | > |
| Торговая марка | ™ | ™ | &trade |
| Неразрывный пробел |   |   | |
| Цент | ў | ¢ | ¢ |
| Фунт | Ј | £ | £ |
| Знак валюты | ¤ | ¤ | ¤ |
| Йена | Ґ | ¥ | ¥ |
| Вертикальная строка | ¦ | ¦ | ¦ |
| Знак параграфа | § | § | § |
| Знак копирайта | © | © | © |
| Знак отрицания | ¬ | ¬ | ¬ |
| Знак "зарегестрировано" | ® | ® | ® |
| Знак градуса | ° | ° | ° |
| Знак "минус" | − | &minus | |
| Длинное тире | | – | |
| Знак "плюс минус" | ± | ± | ± |
| Знак "микро" | µ | µ | &mikro |
| Знак абзаца | ¶ | ¶ | ¶ |
| Точка-маркер | · | · | · |
| Степень 1 (номер) | № | ¹ | ¹ |
| Левая типографская кавычка | « | « | « |
| Правая типографская кавычка | » | » | » |
| Знак умножения / кавычки/ | * | × | × |
| Знак деления | / | ÷ | ÷ |
Как узнать IP посетителя сайта
Казалось бы, нет ничего проще - ip адрес посетителя заносится Апачем в переменную $_SERVER['REMOTE_ADDR'] но есть некоторые нюансы...
Пользователь может находится за прокси-сервером а это значит что в REMOTE_ADDR будет адрес не пользователя а прокси-сервера. Если пользователь использует анонимный прокси-сервер с целью спрятать свой ip адрес то определить его реальный адрес вряд ли получится, но если пользователь использует не анонимный прокси, например экономит трафик или еще зачем, то его вполне можно вычислить по заголовкам HTTP_X_FORWARDED_FOR, но при этом нужно учитывать, что если он выходит через прокси своей организации то там может содержаться внутренний ip адрес который нам не нужен.
Все вышесказанное учитывается в вот какой несложной функции:
function get_ip(){
$alt_ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_CLIENT_IP'])){
$alt_ip = $_SERVER['HTTP_CLIENT_IP'];
}
else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)){
// make sure we dont pick up an internal IP defined by RFC1918
foreach ($matches[0] AS $ip){
if (!preg_match("#^(10|172\.16|192\.168)\.#", $ip)){
$alt_ip = $ip;
break;
}
}
}
else if (isset($_SERVER['HTTP_FROM'])){
$alt_ip = $_SERVER['HTTP_FROM'];
}
return $alt_ip;
}