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

Подсчёт числа строк в программном проекте

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

Функция предназначена для подсчёта числа строк в программных проектах, состоящих из множества вложенных директорий. Конечно, число строк не может свидетельствовать в полной мере о затраченных усилиях и времени на программный проект, но является важным показателем в оценке сложности проекта.

Код рекурсивной фукнции scan_dir, которая обходит директории


<?php

//////////////////////////////////////////////////////////

// Рекурсивная функция — спускаемся вниз по каталогу

//////////////////////////////////////////////////////////

function scan_dir($dirname)

Подробнее: Подсчёт числа строк в программном проекте

Как вытащить слова из текста?

Определение: слова — непрерывная последовательность букв английского или русского алфавитов.

Решение:


$x="Типа, %^& читайте___люди~~~~__маны__ На… РУССКОМ!! Будете+здоровы. abc, qwe, zxc";
preg_match_all('/([a-zA-Zа-яА-Я]+)/',$x,$ok);
for ($i=0; $i";

?>

Результат будет таким:

Типа
читайте
люди
маны
На
РУССКОМ
Будете
здоровы
abc
qwe
zxc

Готово.

BB-коды

BB-коды

Сразу оговорюсь, что лучше сделать функцию, которая будет проверять текст на BB-коды и выдавать его пользователю. Т.е. лучше хранить данные на сервере с BB-кодами, чем с HTML. Хоть времени на выдачу документа будет тратится немного больше, зато вы в любое время сможете изменить стиль для того или иного BB-кода. И для этого не нужно будет перебирать и изменять все документы, а только одну строчку в коде.
Для начала я Вас познакомлю с двумя функциями:
str_replace()

Синтаксис:

string str_replace(string from, string to, string str)

Функция str_replace() заменяет в исходной строке str одни подстроки на другие. Т.е. функция заменяет в строке str все вхождения подстроки from на to и возвращает результат. Эта функция может работать с двоичными строками.

Функция, вообще говоря, нужная. К примеру, если Вы пишите что-то типа гостевой книги, форума, и хотите, чтобы в форме ввода для выделения теста можно было пользоваться стандартными тегами HTML, Вы можете с помощью этой функции заменить символы, которые Вы выбрали для форматирования на стандартные теги НТML.
К примеру:

Подробнее: BB-коды

Форматируем дату, полученную из БД

Я делаю свою CMS и в модуле новостей возникла необходимость преобразовать формат даты, которую возвращает MySQL в более менее приличный вид

Код функции довольно простой и при желании его легко изменить для своих нужд. Данная функция позволяет выводит дату в формате ДЕНЬ_НЕДЕЛИ, ЧИСЛО МЕСЯЦ ГОД, например Пятница, 27 января 2006 года.

function format_date_html($mysql_date,$case)
{

$array=explode('-',$mysql_date); //Разбиваем MySQL дату на массив

//Создаем русские названия месяцев для последующей замены
$month['01']='января';
$month['02']='февраля';
$month['03']='марта';
$month['04']='апреля';
$month['05']='мая';
$month['06']='июня';
$month['07']='июля';
$month['08']='августа';
$month['09']='сентября';
$month['10']='октября';
$month['11']='ноября';
$month['12']='декабря';

Подробнее: Форматируем дату, полученную из БД

Удаление строки из файла

Я очень часто встречаю вопрос типа "Как удалить определенную строку из файла?". Народ совсем не хочет шевелиться, ведь так легко зайти на любой крупный форум по PHP, и в сроке поиска написать что-то типа "Удаление строк из файла". Пятерка результатов гарантирована. Итак, мы как раз рассмотрим способ удаления определенной строки из текстового файла

Для начала было бы совсем не плохо создать текстовый файл. Назовём его file.txt, который будет состоять из строк, которые мы будем удалять:
строка один
строка два
строка три
строка четыре
строка пять

Затем создаём что-нибудь типа file.php, занимающий около 11 строк!

<?
if ($id != "") {
$id--;
$file=file("file.txt");

for($i=0;$i<sizeof($file);$i++)
if($i==$id) unset($file[$i]);

$fp=fopen("file.txt","w");
fputs($fp,implode("",$file));
fclose($fp);
}
?>

Сначала определимся, что для удаления определенной строки нам нужен её номер. Его мы будем передавать с идентификатором id: file.php?id=2 (удалим строку под номером ТРИ, так как исчисления элементов в массиве ведётся с нуля, но позже мы это сгладим).

функция file() считывает весь файл в массив (каждая строка — это его элемент);
$id-вычитает один из нашего идентификатора, так что 2 становится 2, а 3 — 3;
unset($file[$i]) удаляет или обнуляет элемент массива (но только из памяти, т. е. виртуально:);
implode() объединяет массив в одну строку. Это очень важно, так как если бы это опустили, наш файл бы похудел до бесполезной записи Array;