• Как в php конвертировать BB коды в HTML

    Как в php конвертировать bb коды в html​С недавних пор, читатели моего блога могут комментировать статьи используя bb коды. До этого на сайте была собственная система парсинга комментариев. Она часто работала не корректно и имела кучу дыр. несколько раз пользователи блога демонстрировали мне, как легко на сайте можно разместить вредоносный JavaScript, осуществляя инъекцию. Поразмыслив, решил, что для моего проекта отлично подойдут bb коды. Для этого нашел библиотеку на сайте phpclasses, который github был наверно одним из основных источников готовых решений. 

    Класс с говорящим названием BBCode. Скачать его можно с моего сайта.

  • Как написать универсальный парсер сайтов за 1 час

    В аську постучал один из читателей этого блога, и заказал универсальный парсер сайтов. Парсер должен был уметь грабить произвольный сайт и выдирать из него всю текстовую информацию. Кроме того, он должен найти все ссылки на сайте и пройти по ним. У парсера должна быть настройка, ограничивающая число страниц, которое он парсит за один раз. Цена была небольшой, но и задание само по себе несложное. Итак, приступим

  • Парсер для заполнения Joomla сайта или программное добавление статьи в Joomla через php

    Продолжая тему парсеров. Одна из самых распространенных задач, которые я постоянно встречаю - заполнить Joomla сайт на основе другого сайта. Полный переезд, обычно с более старой версии Joomla, но быть может и с другой CMS, не важно.

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

    В идеале парсер должен съедать лишь одну страницу сайта на входе и обходить все найденные страницы сам. В статье Как написать универсальный парсер сайтов за 1 час я уже рассказывал, как это сделать. Когда дело касается переезда на Joomla, то необходимо точно воссоздать структуру сайта донора, посему немного упростим задачу, и будем парсить лишь заданный список ссылок, который будет определенным образом привязан к конкретному разделу из сайта источника. А этот самый раздел на нашем сайте, создадим руками.

    Т.е. в этой статье мы автоматизируем рутинные операции копипаста: копирование текста, создание статьи в материалах, создание ссылки на статью в меню.

    К этим трем операциям можно еще добавить - автоматическое создание разделов сайта, на основе сайта донора. Однако, эту задачу я оставлю вам. Она не сложная, поверьте. Пишите в комментариях, как вы ее решаете.

  • Сервис закачки копии страницы сайта

    Сервис закачки копии страницы сайта

    Сам сервис

  • Форматирование спарсенных данных в сервисе CopySite

    Часто при парсинге сайта, требуется дальнейшее изменение спарсенных данных. Это не всегда удобно, ведь создатели сайтов стараются максимально ускорить свой продукт, и поэтому в "интернет" выпускают только минифицированные версии скриптов и стилей.

    В реальном проекте это выглядит как-то так:

    Стили:

    body{background:url(image.png);border:1px solid #ccc;color:red;}.clearfix{diaplsy:table;float:none;clear:both}

    Скрипты

    (function($){$(function(){$('select').chosen()})}(jQuery))

    И конечно HTML

    <html><head><title>Крутой сайт</title></head><body><img src="/image.png"> и другие классыне картинки</body></html>

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

    Поэтому в CopySite мы добавили 3 опции в настройки скачивания сайта:

    format-html-css-js.png