-
Javascript. Decode URL.
При передаче URL он часто попадает в скрипт в закодированной строке, которая непонятна пользователю. Чтобы вернуть её к человеческому виду — нужно сделать декодирование URL. Сейчас покажу пример, как это сделать. Привожу пример с Developer.Mozilla: decodeURI(«https://developer.mozilla.org/ru/docs/JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B»); // «https://developer.mozilla.org/ru/docs/JavaScript_шеллы» Как видите, метод невероятно прост и просто выполняет свою функцию. Добавлю лишь то, что метод также совместим…
-
Javascript. Аналог функции str_replace с php.
При работе одновременно и на back- и на front-side иногда не хватает каких-то удобств одного языка при работе со вторым. Например, в Javasript не хватает полного аналога php-функции str_replace. На самом деле, аналог, как-бы вроде и есть. Это функция replace: var str = «Foo Bar Foo»; str = str.replace(«Foo», «!»); Но, несмотря на наши ожидания…
-
Php. Как определить AJAX-запрос?
Определение AJAX-запроса используется очень часто — но, в основном, ложится на плечи хелперов фреймворков. Но что делать, если мы пишем скрипт на чистом php? Приведу простой пример определения AJAX-обращения на чистом php. Итак, все, что нам надо — добавить в нужное место следующий блок: $isAjax = false ; if(isset($_SERVER[‘HTTP_X_REQUESTED_WITH’]) && !empty($_SERVER[‘HTTP_X_REQUESTED_WITH’]) && strtolower($_SERVER[‘HTTP_X_REQUESTED_WITH’]) == ‘xmlhttprequest’)…
-
Yii2. Как добавить канонический URL — ?
Добавление канонического URL очень важно для сохранения веса страницы на страницах поиска, каталога и т.д. Сейчас покажу, как добавить link rel=»canonical» на Yii2. На самом деле все достаточно просто: \Yii::$app->view->registerLinkTag([‘rel’ => ‘canonical’, ‘href’ => Url::to([‘item1’], true)]); Кроме этого можно использовать специальный метод хелпера URL — canonical(), который вернет адрес текущей страницы без учета всех параметров…
-
Что означает ошибка «Only variables can be passed by reference»?
При поддержке старых проектов, которые писались под старые версии php иногда можно встретить следующую ошибку: «Only variables can be passed by reference». Сейчас на простом примере покажу, почему она появляется. Простой пример, который вызовет данную проблему: function Foo(&$data) { // do some code with $data } function Bar() { return «Hello world»; } echo Foo(Bar());…
-
NetBeans. Как по умолчанию открывать файлы в UTF-8?
NetBeans — определенно в числе лучших бесплатных IDE. При этом она до сих пор имеет проблемы с открытием файлов в различных кодировках. Странно — но решить можно и самостоятельно проблему. Сейчас посмотрим, как одной строкой заставить NetBeans по умолчанию открывать файлы в кодировке UTF-8. Всего-то навсего — нам нужно добавить параметр к netbeans_default_options. Для этого…
-
Как изменить цвет captcha в bitrix?
Я в bitrix, правда — совсем не специалист — но сегодня попробую пояснить, как изменить цвет капчи (captcha) именно в bitrix. Итак, сначала смотрим в файл bitrix/modules/main/classes/general/captcha.php. Там мы находим строки: COption::GetOptionString(«main», «CAPTCHA_arTextColor_1», «000000»), COption::GetOptionString(«main», «CAPTCHA_arTextColor_2», «646464») Из них мы делаем вывод, что настройки хранятся в «реестре», а значит моэно воспользоваться методом противоположным к геттеру…
-
Php. Как сделать первую букву в строке заглавной?
Сейчас приведу пример метода, который делает заглавной первую букву в строке, при этом остальные буквы, по желанию, могут принудительно перевестись в нижний регистр. На авторство не претендую — метод был найден на просторах интернета: public static function ucfirst($str, $lowerEnd = false, $encoding = ‘UTF-8’) { $firstLetter = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding); if ($lowerEnd) {…
-
Php. Как «сбросить» индексы в массиве?
Сегодня надо было сбросить ключи в массиве, т.к. при json_encode от массива с пропусками в индексах получался объект, а мне нужен именно чистый массив. Решение придумал очень быстро — сейчас опишу, как можно сбросить индексы в массиве на php. К примеру у нас есть массив: $arr = [1, 2, 3, 4, 5, 6, 7, 8,…
-
MySQL. Использование IF и CASE в SELECT.
Есть ситуации, когда в зависимости от определенных условий в блоке SELECT в запросе нужно возвращать определенные поля или же под один алиас возвращать разные значения. Как это сделать и в каких ситуациях это решает проблему я покажу в этой статье. Ситуация из реальной практики — в БД хранится цена и рядом с ней хранится валюта…
