Become a Patron!

My Amazon wishlist can be found here.

Life Line

New VLD and translit releases

They're two little extension for very distinctive purposes. VLD is a tool for hard core PHP hackers that want to figure out what is going on in PHP's engine. This would be an extremely useful tool for students that want to work on the Google Summer of Code project to implement and finish "Ilia's" Optimizer .

The translit extension focuses on transliterating scripts into different representations. It contains many filters for different tasks. For example the "normalize_numbers" filter can convert "1234567890" into "1234567890" with the following script:

<?php
$input = "1234567890";
var_dump(transliterate(
    $input,
    array('normalize_numbers'),
    'utf-8', 'ascii'));
?>

But many other filters exist, such as converting Chinese text (大平矿难死者增至66人) to pinyin (dapingkuangnansǐzhezengzhi66ren) or stripping out accents (á -> a )and converting ligatures (© -> (c), æ -> ae) etc. The translit extension is also used on this website to create "nice" urls with the following code:

$blurp['url'] = transliterate($blurp['title'],
    array(
        'cyrillic_transliterate', 'lowercase_latin',
        'normalize_ligature', 'diacritical_remove',
        'normalize_punctuation', 'remove_punctuation',
        'spaces_to_underscore', 'compact_underscores'),
    'utf8', 'us-ascii');

Both extensions are available through PECL and installable like:

pecl install vld
pecl install translit


Shortlink

This article has a short URL available: https://drck.me/n-vld-atr-6a6

Comments

there's also a TRANSLIT option in the iconv() function but to work, you need to set a correct locale.

http://fr.php.net/manual/fr/function.iconv.php

This piece of code seems familiar, might have seen it somewhere yesterday ;)

Thanks for this new release Derick.

@Damien: I've never found that to work reliable... and we all know that POSIX locales suck anyway, as they're different on every system out there.

Add Comment

Name:
Email:

Will not be posted. Please leave empty instead of filling in garbage though!
Comment:

Please follow the reStructured Text format. Do not use the comment form to report issues in software, use the relevant issue tracker. I will not answer them here.


All comments are moderated