# Некоторые PHP функций

Некоторые PHP функций


function seo_url($string, $seperator='-') {
    $string = strtolower($string);
    $string = preg_replace("/[^a-z0-9_\s-]/", $seperator, $string);
    $string = preg_replace("/[\s-]+/", " ", $string);
    $string = preg_replace("/[\s_]/", $seperator, $string);
    return $string;
}
Делает из "Privet Ivan" => "privet-ivan"

function detect_encoding($string) {  
  static $list = array('utf-8', 'windows-1251');
   
  foreach ($list as $item) {
     $sample = iconv($item, $item, $string);
     if (md5($sample) == md5($string))
       return $item;
   }
   return null;
 }
Функция детектит кодировку

function full_url()
{
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = substr(strtolower($_SERVER["SERVER_PROTOCOL"]), 0, strpos(strtolower($_SERVER["SERVER_PROTOCOL"]), "/")) . $s;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
}
Разберает урл на протокол имя сервера порта и сам запрос

Получает имя домена

echo json_decode(str_replace('%u', '\\u', json_encode($str_from_js)));
Преобразовует символы Юникода в виде «%uXXXX» в UTF-8

И на закусь некоторые правила htaccess:
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
# http://domain/about -> http://domain/about.php
 --------------------------------------------------
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# http://domain/about -> http://domain/index.php?q=about

# Подсветка синтаксиа - инструменты

Highlight.js
Highlight.js нужен для подсветки синтаксиса в примерах кода в блогах, форумах и вообще на любых веб-страницах. Пользоваться им очень просто, потому что работает он автоматически: сам находит блоки кода, сам определяет язык, сам подсвечивает.

Этот автоматизм не только удобен, но и делает возможным подсветку кода, даже если текст набирается каким-нибудь синтаксисом вроде Markdown, где нет возможности легко и просто проставить нужный class для HTML-элемента кода.
Подсветка синтаксиа - инструменты


FV Code Highlighter
FV Code Highlighter — плагин подсветки синтаксиса для WordPress. Плагин поддерживает PHP, HTML, CSS и XML. Цветовая схема по умолчанию аналогична схеме в программе Dreamweaver, что делает код узнаваемым для многих разработчиков. Цвета можно изменить в настройках.
Подсветка синтаксиа - инструменты


Quick Highlighter
Quick Highlighter — полезный онлайн сервис для преобразования обычного текста, который содержит код (HTML, PHP, javascript), в текст с подсветкой синтаксиса, готовый к использованию на блоге или сайте.
Подсветка синтаксиа - инструменты


SyntaxHighlighter
SyntaxHighlighter — популярный скрипт для подсветки синтаксиса, помогающий разработчику с легкостью разместить фрагменты кода в сети. SyntaxHighlighter это 100% javascript, поэтому результат не зависит от настроек сервера.
Подсветка синтаксиа - инструменты

# Регулярные выражения

Последнее время очень часто приходиться сталкиваться с регулярными выражениями. И для понимания они очень сложны. Повторить по памяти выражение я не смогу поэтому выложу сюда как записку для себя и как заметку для вас:

Удалить определенную ссылку:
$text=preg_replace("~[^<]+?~",'',$text);

За это решение спасибо setty

Удалить спецсимволы:
$text = preg_replace ("~(\\\|\*|\?|\[|\?|\]|\(|\\\$|\))~", "",$text);


Вывести число подписчиков в FeedBurner:
function fb($feed){
$s=file_get_contents("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri={$feed}");
preg_match('/circulation="(\d+)"/', $s, $a);
return $a[1];}


Выводим Alexa Rank:
function alexa($url) {
preg_match('#
(.*?)
#si', file_get_contents("http://www.alexa.com/siteinfo/{$url}"), $a);
return trim(str_replace(",","",strip_tags($a[1])));}