Вспомогательные функции на PHP для обработки данных
Вспомогательные функции на PHP для обработки данных
Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы
📅 20 ноября 2023
👁🗨 394
<?php
if (!function_exists('consoleLog')) {
function consoleLog($var) {
echo '<script>console.log(' . json_encode($var, JSON_PARTIAL_OUTPUT_ON_ERROR) . ')</script>';
}
}
consoleLog($array);
// Смотрим в консоль
if (!function_exists('phoneReplace')) {
function phoneReplace($phone) {
return str_replace([' (', ') ', '-'], '', $phone);
}
}
$phone = '+7 (999) 999-99-99';
echo phoneReplace($phone);
// +79999999999
if (!function_exists('breakRow')) { // https://stanislav-web.com/blog/php/dobavit-teg-html-v-massiv-php-mezhdu-elementami/
function breakRow($text, $number) {
$string = $text;
$stringExplode = explode(' ', $string);
array_splice($stringExplode, $number, 0, '<br/>');
$stringImplode = implode(' ', $stringExplode);
return $stringImplode;
}
}
$text = 'Lorem ipsum, dolor sit amet consectetur adipisicing, elit.';
echo breakRow($text, 3);
// Lorem ipsum, dolor<br/> sit amet consectetur adipisicing, elit.
// Склонение слов с помощью функции
if (!function_exists('declinePosition')) {
function declinePosition($number, $one, $two, $five) {
$lastDigit = $number % 10;
$lastTwoDigits = $number % 100;
if ($lastTwoDigits >= 11 && $lastTwoDigits <= 19) {
return $five;
} elseif ($lastDigit == 1) {
return $one;
} elseif ($lastDigit >= 2 && $lastDigit <= 4) {
return $two;
} else {
return $five;
}
}
}
echo declinePosition($count, 'элемент', 'элемента', 'элементов');
// 1 элемент
// 2 элемента
// 5 элементов
// Склонение слов с помощью класса Declension из ядра D7
use Bitrix\Main\Grid\Declension;
$declension = new Declension('элемент', 'элемента', 'элементов');
echo $declension->get($count);
$domain = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'];
$canonical = $domain . $_SERVER['REQUEST_URI'];
$canonical = explode('?', $canonical);
$canonical = $canonical[0];
?>