Оригинал статьи: manlix.ru/

PHP в примерах

PHP в примерах.

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

<?
$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;
?>

Создаём массив $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);
?>

Заменяем %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;
?>

Конвертируем текст с кодировком windows-1251 в кодировку koi8-r:

<?
$string="хорошая сегодня погода, верно?";
$string=convert_cyr_string($string,"w","k");

echo $string;

# w: windows-1251
# k: koi8-r
# i: iso8859-5
# a: x-cp866
# m: x-mac-cyrillic
?>

Получаем ASCII код, символа @:

<?
$string=ord("@");
echo $string;
?>

Присваиваем переменной символ, ASCII кодом:

<?
$string=chr("64"); # @
echo $string;
?>

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

<?
$string="всем привет";
$string=crc32($string);
echo $string;
?>

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

<?
$string="всем пока";
$string=md5($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;
?>

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

<?
$file=file("text.txt"); # будем считывать строки с файла text.txt
$strings="5"; # количество считываемых строк

    for($i=0;$i<$strings;$i++)
   {
   $string.=$file[$i];
   }

echo $string;
?>

Считываем из файла последние 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); #выводим массив
?>

Проверяем, существует-ли функция 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
?>