Слава Україні!

Шпаргалки по php

Несколько простых, но довольно часто встречающихся примеров, которые облегчат написание кода.
17-го січня 2012, 1:01

Замена нескольких пробелов на один:

$string = "Здесь много лишних пробелов!";
$string = ereg_replace(" +"," ",$string); echo $string;

Удаление лишних пробелов по-левому и правому боку текста:

$string = " Текст с лишними пробелами по бокам. ";
$string = trim($string);
echo $string;

Удаление лишних пробелов по-левому боку текста:

$string = " Текст с лишними пробелами по бокам.";
$string = ltrim($string);
echo $string;

Удаление лишних пробелов по-правому боку текста:

$string = " Текст с лишними пробелами по бокам. ";
$string = rtrim($string);
echo $string;

Удаление всех тэгов:

$string = "<b>мой жирный текст</b>";
$string = strip_tags($string);
echo $string;

Удаление всех тэгов, кроме `<b>` и `<i>`:

$string = "<h1>большой текст</h1> <b><i>текст</i></b>";
$string = strip_tags($string,"<b><i>");
echo $string;

Заменяем %text%, например на слово `хорошее`, строгий регистр, т.е. заменится только %text%, но не %TexT%:

$string = "Сегодня у меня %text% настроение.";
$string = str_replace("%text%","хорошее",$string);
echo $string;

Заменяем %text%, например на слово `плохое`, нестрогий регистр, т.е. заменится %Text%, %TEXT%, %TexT%, %tExT% и т.д.

$string = "Сегодня у меня %Text% настроение.";
$string = eregi_replace("%text%","плохое",$string);
echo $string;

Проверяем, есть ли в тексте слово `привет`, нестрогий регистр, т.е. ищется и `ПриВеТ`, и `ПРИВЕТ` и `приВЕТ` и т.д.:

$string = "Всем привет, как делишки? :)";
if(eregi("привет", $string)){
    # если слово найдено, то
    # выполняется эта часть кода
} else {
    # если слово не найдено, то
    # выполняется эта часть кода
}

Проверяем, есть ли в тексте слово `хорошо`, строгий регистр, т.е. ищется только слово `хорошо`:

$string = "пусть всё будет хорошо";
if(ereg("хорошо", $string)){
    # если слово найдено, то
    # выполняется эта часть кода
} else {
    # если слово не найдено, то
    # выполняется эта часть кода
}

Проверяем, есть ли в тексте символ @:

$string = "Меня зовут В@сей";
if(strstr($string, "@")){
    # если слово найдено, то
    # выполняется эта часть кода
} else {
    # если слово не найдено, то
    # выполняется эта часть кода
}

Считываем первые 10 символов из текста:

$string = "мне нравится программировать на...";
$string = substr($string, 0, 10);
echo $string;

Считываем первые 6 слов из текста:


    $words = "6"; # количество считываемых слов
    $string = "Сегодня я забрёл на хороший сайт. Адрес не скажу!!! :)";
    $array = explode(" ",$string);
    for($i=0; $i<$words; $i++){
        $new_string.= $array[$i]." ";
    }
    $string = trim($new_string);
    echo $string;

Используем в качестве разделителя "::" (два двоеточия):

$string = "Вася::Петров::25::";
$array = explode("::", $string);
echo "Имя: " . $array[0] . ", фамилия: " . $array[1] . ", возраст: " . $array[2];

Заменяем `<b>` на `&lt;b&gt;` и `</b>` на `&lt;/b&gt;`:

$string = "<b>как делишки?</b>";
$string = htmlspecialchars($string);
echo $string;

Определяем количество символов в тексте:

$string = "Мой дядя самых честных правил.";
$symbols = strlen($string);
echo $symbols;

Заменяем все буквы в тексте на маленькие:

$string = "ВоЛнОоБрАзНыЙ ТеКсТ";
$string = strtolower($string);
echo $string;

Заменяем все буквы в тексте на большие:

$string = "Давайже жить дружно.";
$string = strtoupper($string);
echo $string;

Меняем все буквы в тексте на маленькие и делаем самую первую букву заглавной:

$string = "ура! Тётя Ася приехала";
$string = ucfirst(strtolower($string));
echo $string;

Создаём массив $array, где каждый ключ будет равняться номеру строки в файле:

$file = file("my_file.txt");
print_r($file);

Подсчитываем количество строк в файле:

$file = file("my_file.txt");
$count = count($file);
echo $count;

Добавляем новую строку в конец файла:

$open = fopen("my_file.txt","a");
fwrite($open, "новая строка\r\n");
fclose($open);

Очищаем файл и добавляем в него строку, если файл не существует, то он создаётся:


$open = fopen("my_file.txt","w+");
fwrite($open, "строка\r\n");
fclose($open);

Удаляем нужную строку из файла:


$line = "1"; # строка, которую нужно удалить
$file = file("my_file.txt");
$open = fopen("my_file.txt", "w");
for($i = 0; $i < count($file); $i++){
    if(($i+1) != $line){
        fwrite($open, $file[$i]);
    }
}
fclose($open);

Заменяем нужную строку в файле:


$line = "1"; # строка, которую нужно изменить
$replace = "ля ля ля"; # на что нужно изменить
$file = file("my_file.txt");
$open = fopen("my_file.txt", "w");
for($i = 0; $i < count($file); $i++){
    if(($i+1) != $line){
        fwrite($open, $file[$i]);
    } else {
        fwrite($open, $replace . "\r\n");
    }
}
fclose($open);

Считываем из файла последние 5 строк:

$file = file("text.txt"); # будем считывать строки с файла text.txt
$strings = "5"; # количество считываемых строк
for($i = count($file) - $strings ; $i < count($file); $i++){
    $string.=$file[$i];
}
echo $string;

Объединяем 3 файла в один массив, а именно в $new_array:

$files = array(
    "file1.txt", # первый файл
    "file2.txt", # второй файл
    "file3.txt" # третий файл
);
for($i = 0; $i < count($files); $i++){
    $array[] = file($files[$i]);
}
while(list(,$result) = each($array)){
    for($i = 0; $i < count($result); $i++){
        $new_array[] = $result[$i];
    }
}
print_r($new_array); #выводим массив

Кодируем текст в md5:

$string="всем пока";
$string=md5($string);
echo $string;

Проверяем, существует-ли функция imagecreate():

$function = "imagecreate"; # имя функции, которую будем проверять
if(function_exists($function)){
    echo "Функция " . $function . "() - существует";
} else {
    echo "Функция " . $function . "() - не существует";
}

Проверяем, подключена-ли библиотека GD:

$extension = "gd"; # имя библиотеки
if(extension_loaded($extension)){
    echo "Библиотека " . $extension . " - подключена";
} else {
    echo "Библиотека " . $extension . " - не подключена";
}

Показываем версию php интерпретатора: echo phpversion();

Убираем ограничение времени на выполнения скрипта: set_time_limit(0);

Показываем на экран монитора операционную систему, в которой работает php интерпретатор:

$os = explode(" ", php_uname());
$os = $os[0];
echo "Наша операционная система - " . $os;

Округляем десятичное число 8.4 по правилам математики:

$numeric = "8.3"; # число
$numeric = round($numeric);
echo $numeric;

Округляем число 20.2347823947 до трёх знаков после точки:

$numeric = "20.2347823947"; # число
$numeric = round($numeric, 3);
echo $numeric;

Определяем из трёх чисел самое большое:

$max = max(2, 13, 9); # числа, через запятую
echo "Самое большое число: " . $max;

Определяем из трёх чисел самое меньшее:

$min = min(42, 12, 84); # числа, через запятую
echo "Самое меньшее число: " . $min;

Выводим случайное число от 0 до 100:

$rand = rand(0, 100);
echo "Случайное число: " . $rand;

Определяем является-ли значение числом:

$string = "55"; # значение
if(is_numeric($string)) {echo "число";}
else {echo "не число";}

Ищем в файле file.txt слово привет:

$word = "привет"; # искомое
$file = "file.txt"; # имя файла, в котором будем искать слово привет
$open = fopen($file,"r");
while(!feof($open)) $search .= fgets($open, 1024);
fclose($open);

if(eregi(strtolower($word), strtolower($search))){
    echo "Слово " . $word." - найдено";
} else {
    echo "Слово " . $word." - не найдено";
}

Выводим содержимое папки c:/windows

$dir = "c:/windows"; # папка, которую нужно прочитать
if($OpenDir = opendir($dir)){
    while(($file = readdir($OpenDir)) !== false)
        if($file != "." && $file != "..")
            echo $file . "<br>";
} else echo "нет прав";

Определяем в какой стране живёт посетитель:

$host=gethostbyaddr($REMOTE_ADDR);
$countrys=array(
    ru => Россия,
    ua => Украина,
    kz => Казахстан
);
$array = array_reverse(explode(".", $host));
if(!empty($countrys[$array[0]])){
    echo "Ваша страна: " . $countrys[$array[0]];
} else echo "Откуда Вы пришли - я не знаю :(";

Вставляем новые данные на 5 строку, а саму 5 строку передвигаем на 6:

$file = "base.txt"; # файл, в которой добавляем нужную нам строку
$line = "5"; # строка, на которую вставляем новые данные
$data = "новая строка"; # данные новой строки
$array = file($file);
$open = fopen($file, "w");
while(list($num,$string)=each($array)){
    if(($num+1) == $line) fwrite($open, $data . "\r\n");
    fwrite($open, $string);
}
fclose($open);

Выводим случайную фразу (строку) из файла:

$file = "base.txt"; # имя файла, где хранятся фразы
$array = file($file);
echo $array[rand(0, count($array) - 1)];

Кодируем текст в base64:

$string = "MyName"; # кодируемое
$encoded = base64_encode($string);
echo $encoded
// TXlOYW1l

Раскодируем текст из base64:

$string = "TXlOYW1l"; # раскодируемое
$decoded = base64_decode($string);
echo $decoded
// MyName

Важлива інформація

Міністерство оборони
України
з 24.02 по 07.12
втрати противника
орієнтовно склали:
751910 ( +1300 ) особового складу
9514 ( +0 ) танків
19535 ( +17 ) бойових бронемашин
21055 ( +12 ) артилерійських систем
1253 ( +0 ) РСЗВ
1022 ( +2 ) засоби ППО
369 ( +0 ) літаків
329 ( +0 ) гелікоптерів
30948 ( +49 ) автомобільної техніки
28 ( +0 ) кораблі / катери
2857 ( +0 ) крилаті ракети
20042 ( +19 ) БПЛА
3633 ( +0 ) спец. техніки
4 ( +0 ) установок ОТРК/ТРК
1 ( +0 ) підводні човни