• PHP под С-шным дебаггером: копаемся внутри Zend Engine

      Как-то пришлось мне столкнуться с проблемой: веб-краулер на PHP работает себе нормально, работает, а потом вдруг (через 3-6 часов работы) перестает что-либо делать и начинает кушать 100% CPU. Как искать такую проблему? Как узнать, где он зацикливается? А что если подключиться к PHP сишным дебаггером и узнать оттуда все, что необходимо? Подробности под катом.
      Читать дальше →
    • Определение кодировки текста в PHP, часть 2 — биграммы

        В прошлой статье был реализован алгоритм автоматического определения кодировки текста на основе частот распределения символов. В комментариях отметили: если использовать биграммы (триграммы), результат будет более точный. Тогда я отмахнулся, мол, и на одиночных символах неплохой результат получается. Но сейчас подумал, что неплохо было бы добавить надежности и точности в алгоритм, тем более использование биграмм вместо одиночных символов сильно кушать не просит.

        Под катом — пример реализации алгоритма на биграммах, исходники и результаты его работы.
        Читать дальше →
      • Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

          Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.

          1. Почему не mb_detect_encoding() ?


          Если кратко — он не работает.
          Подробнее - под катом
        • Zend_Search_Lucene + PHPMorphy — это просто

            Когда-то смотрел документацию по Zend_Search_Lucene. Все хорошо, все понятно. Бери и встраивай в свой сайт. Только вот ни слова там нету про то, каким образом прикрутить стеммер или морфологический анализатор к этой штуке. На деле оказалось, что подружить его, например, с PHPMorphy, очень просто.
            Собственно, как это сделать — под катом.
            Заметка в первую очередь будет полезна разработчикам, перед которыми проблема полнотекстового поиска на сайте еще не стояла.
            Тут вы не найдете мануала по настройке Lucene или PHPMorphy — этой информации и так предостаточно в интернете.

            Читать дальше →