Окт 20
syncTranslit
icon1 Snowcore | icon2 My plugins, jQuery | icon4 10 20th, 2009| icon317 Comments »

Во многих веб проектах используются friendly urls. Например, вместо id статьи в url испольуется его текстовый идентификатор (slug). Обычно slug генерируется автоматически на серверной стороне при создании статьи. Но если вы хотите иметь возможность задавать slug самостоятельно (через форму) - можете использовать мой плагин syncTranslit.

Данный плагин рассчитан на украинскую и русскую аудиторию разработчиков.
Основная задача плагина: генерация slug из кирилличного текста. Плагин позволяет синхронизировать два поля на форме, при этом одно поле является источником данных (например, название статьи), а второе (slug) - принимает траслитерированный текст.

Использование

Подключаем файл плагина, вызываем метод syncTranslit для элемента-источника, передаем параметр destination - id элемента-приемника:

$(document).ready(function(){
    $(‘#articleTitle’).syncTranslit({destination: ’slug’});
});



Название:
Slug:

Возможные опции

Список доступных опций:

  • destination - id элемента-приемника
  • type - url (default) или raw: определяет тип транслитерации. url - для транслитерации в slug (заменяются спец. символы). raw используется для чистого преобразования (с сохранением всех спец. символов)
  • caseStyle - lower (default), normal, upper: отвечает за регистр транслитерируемых данных
  • urlSeparator - разделитель слов для slug (default: ‘-’)

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

Название:
Slug:

$(document).ready(function(){
  $(‘#articleTitle2′).syncTranslit({
    destination: ’slug2′,
    caseStyle: ‘upper’,
    urlSeparator: ‘_’
  });
});

Скачать плагин syncTranslit c Google Code
Страница проекта на сайте jQuery

Жду ваших предложений и замечаний в комментах

Окт 9
Strip BBCode tags
icon1 Snowcore | icon2 Useful, php | icon4 10 9th, 2009| icon3No Comments »

Довольно популярная задача - убрать все BBCode теги из текста.
Сделать это можно при помощи следующео регулярного выражения:


Strip all BBCode tags:

<?php
    $text = preg_replace(/[[\/\!]*?[^\[\]]*?]/si, “”, $text);
?>


Окт 5

Мне нравится то, что в Zend Framework постоянно появляются новые фишки. Очень не хватало раньше компонента Zend_Tool. Наконец-то его написали… ну или “почти написали” :-)

Сыровато еще все. При установленном PHPUnit 3.4 Zend tool отказывается работать:

Fatal error: Cannot redeclare class phpunit_framework_testsuite_dataprovider in … PEAR\PHPUnit\Framework\TestSuite\DataProvider.php

Данный баг уже есть в трекере: http://framework.zend.com/issues/browse/ZF-7894, но его пока еще не пофиксили. Если же вы хотите использовать Zend_Tool, то можно установить более раннюю версию PHPUnit. Для этого удаляем PHPUnit 3.4:

pear uninstall phpunit/PHPUnit

и ставим версию 3.3:

pear install phpunit/PHPUnit-3.3.0