Все ленты — последние статьи

"Сумма прописью"

Автор: Дмитрий Бородин

Очередной типичный вопрос созрел:

Есть сумма: 1 245 руб. 04 коп. Надо получить: Одна тысяча двести сорок пять руб. 04 коп

Программа:

<?
$_1_2[1]="одна ";
$_1_2[2]="две ";

Подробнее: "Сумма прописью"

Преобразование URL в теги

Преобразование URL в теги

Автор: Дмитрий Бородин

Есть некий текст, в котором встречаются фразы типа "А не сходить ли тебе на http://site.com ?".

Задача: Сделать все слова, похожие на ссылки, html-ссылками, т.е. преобразовать текст примера вот так: "А не пойти ли тебе на http://site.com ?".

После линии идет полный код программы.

Подробнее: Преобразование URL в теги

Преобразование IP адресов

Автор: Дмитрий Бородин

ip2int: Преобразование ip-адреса в число (которое можно хранить в PHP, помещать в MySQL и.т.д.)

int2ip: Преобразование числа в ip-адрес

function int2ip($i) {
$d[0]=(int)($i/256/256/256);
$d[1]=(int)(($i-$d[0]*256*256*256)/256/256);
$d[2]=(int)(($i-$d[0]*256*256*256-$d[1]*256*256)/256);
$d[3]=$i-$d[0]*256*256*256-$d[1]*256*256-$d[2]*256;
return "$d[0].$d[1].$d[2].$d[3]";
}

function ip2int($ip) {
$a=explode(".",$ip);
return $a[0]*256*256*256+$a[1]*256*256+$a[2]*256+$a[3];
}

Для чего надо преобразовать IP в число int ? Чтобы он занимал меньше места. IP в виде строки: "222.222.222.222" — 15 байт. В виде числа — 4 байта. Это число можно писать в базу данных или переменную в PHP. В PHP 4 есть встроенные функции ip2long (аналог моей ip2int) и logn2ip, но они почему-то глючат (переводят ИП в отрицательные числа). Так что используйте мои, проверено — все работает на ура. Некоторые считают, что это не глюк, а фича. В любом случаее надо соблаюдать тип полей при вставке IP в базу: либo INT (для +/-), либо UNSIGNED INT (только +).

Если поняли смысл этой статьи, не забудьте сюда вернуться, т.к. хранить IP в виде строки — преступная :-) растрата ресурсов.

А еще можно переложить операции по переводу адресов на сам SQL. Запрос select INET_ATON("209.207.224.40") вернет соотвествующее число (3520061480). И наоборот, запрос select INET_NTOA(3520061480) вернет строку "209.207.224.40". SQL переведет IP/число намного быстрее, чем функция на PHP или встроенная ip2long. Разумеется, нужно не select'ы делать (отдельным запросом), а использовать приведенные SQL'ные функции прямо во время вставки/выборки.

Подсветка синтаксиса кода на PHP

Автор: IT-студия SoftTime (softtime.ru)

Полезность данной функции не вызывает сомнений. Подсветка кода способна значительно улучшить читаемость листингов кода, либо здорово облечить жизнь web мастерам, вынужденным раскрашивать код вручную.


<?php

// подавляем предупреждение

error_reporting(0);

function highlight_code($code)

{

Подробнее: Подсветка синтаксиса кода на PHP

Отображение информации и ее сортировка

Автор: Mostom

Привет! Вы знаете, очень часто встречаю на форумах вопросы типа: [Как мне сделать чтобы записи из файла отображались не с первой по последнюю, а наоборот, в обратном порядке?]. Уже ответов пять наверное написал… Люди совсем не хотят думать, хотя делается это элементарно!
Собственно, показать записи в обратном порядке можно двумя способами:
1. Записать информацию наоборот
2. Записывать информацию обычно, а показывать наоборот

У каждого из способов есть свои особенности, о которых я расскажу далее. Итак, сначала первый способ. Еще на процессе записи скриптом информации в файл пишем вот что:

Подробнее: Отображение информации и ее сортировка