Обработать файл перед его получением на PHP

PHP
При написании одного модуля для движка, потребовалось получать шаблоны для вставки кода в уже загруженную страницу. Делал это так:
		// Получение шаблона приложения
		$html = file_get_contents(phpfox::getParam('core.dir_app') . $id . PHPFOX_DS . 'page' . PHPFOX_DS . $page . '.php', true);

По ходу развития модуля, пришлось добавлять PHP код, он должен был выполняться перед получением самого шаблона. Но он не обрабатывался функцией file_get_contents. Код проходил, либо как текст, либо, как закомментированный код...

Чтобы PHP код выполнялся перед вставкой шаблона в страницу, было принято решение заменить file_get_contents, на:
		// Получение шаблона приложения
		ob_start();
		include (phpfox::getParam('core.dir_app') . $id . PHPFOX_DS . 'page' . PHPFOX_DS . $page . '.php');
		$html = ob_get_contents();
		ob_end_clean();
		// End: Получение шаблона приложения

Так работает, как хотелось. Код выполняется перед вставкой в страницу.

Так как мой движок изначально использует...

Как получить высоту и ширину изображения на PHP

PHP
Для получения высоты и ширины картинки служит функция: getimagesize. Функция вернет массив данных, где два элемента будут содержать в себе ширину и высоту.

Делаем так:
list ($w, $h) = getimagesize($img);

Теперь у нас две переменные, где $w - ширина изображения, $h - высота.

$img - полный путь и имя картинки....

Как получить первые | последние несколько элементов массива на PHP

PHP
Для реализации одной задумки потребовалось получить первые несколько элементов массива, в дальнейшем следующие несколько элементов, затем следующие, и так до самого конца массива. В этом мне помогла функция array_slice, предназначение которой выбирать срез массива.

Пример получения первых трех элементов массива:
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$array = array_slice($array, 0, 3);

Теперь переменная $array содержит в себе массив:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

Чтобы получить следующие три элемента, меняем ноль на три:
$array = array_slice($array, 3, 3);

И получаем:
Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

Получаем последние три элемента:
$array = array_slice($array, 7, 3);

Итог:
Array
(
    [0] => 8
    [1] => 9
    [2] => 10
)

Как Вы могли заметить, функция array_slice обнуляет ключи элементов. Если Вам необходимо сохранить порядковые номера ключей, укажите четвертым параметром true:
...

Чем отличаются операторы continue и break в PHP

PHP
Главное отличие операторов continue и break:
continue - Пропускает текущую итерацию.
break - Полностью останавливает выполнение цикла и выходит из него.

Для примера работы continue возьмем массив:
$rows = [1, 2, 3, 4, 5];

И прогоним его через цикл foreach. При значении 3 отработает continue:
foreach ($rows as $row)
{
    if ($row == 3)
    {
        continue;
    }

    echo $row . ' ';
}

Результат будет таким:
1 2 4 5


Для примера работы break будем прогонять тот же массив. Код цикла будет такой же, только вместо continue, будет break:
foreach ($rows as $row)
{
    if ($row == 3)
    {
        break;
    }

    echo $row . ' ';
}

На экране мы увидим результат:
1 2
...

Точная замена слов в тексте на PHP

PHP
Функция str_replace служит для замены подстрок в строке. Задаем слово или слова, которые надо найти в строке и на что их менять, в общем-то это все. Легко и просто. Но если небольшой нюанс, допустим Вам необходимо заменять слова холод, скажем на слово тепло:
$text = str_replace('холод', 'тепло', $text);

Пока в строке будет встречаться слово из 5 букв холод замена будет логичной, но, как только в тексте появится другое слово, с тем же порядком букв, то можем получить белиберду. Например, слово холодно будет изменено, как теплоно, это не есть хорошо.

Решение №1: Добавлять пробелы в начале и конце слов:
$text = str_replace(' холод ', ' тепло ', $text);

Так будет искать и заменять только те слова, которые нужны Вам. Но если в тексте слово холод будет самым первым, то пробела перед словом не будет и замена не осуществица. Так же замены не будет, если после слово холод стоит точка, или любой другой знак препинания. В таком случае подойдет решение №2.

Решение №2: Использовать...