php lowercase and hyphenate code example

Example: string to lowercase accentuation hyphenated

<?php

/**
 * Converts string to SEO-friendly form (lowercase hyphenated alphanumeric words)
 *
 * @param $string
 * @return string
 */
function seoUrl($string)
{
    // qv stackoverflow.com/questions/11330480, stackoverflow.com/questions/1017599

    $src = 'àáâãäçèéêëìíîïñòóôõöøùúûüýÿßÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝ';
    $rep = 'aaaaaceeeeiiiinoooooouuuuyysAAAAACEEEEIIIINOOOOOOUUUUY';

    // strip off accents (assuming utf8 PHP - note strtr() requires single-byte)
    $string = strtr(utf8_decode($string), utf8_decode($src), $rep);
    // convert to lower case
    $string = strtolower($string);
    // strip all but alphanumeric, whitespace, dot, underscore, hyphen
    $string = preg_replace("/[^a-z0-9\s._-]/", "", $string);
    // merge multiple consecutive whitespaces, dots, underscores, hyphens
    $string = preg_replace("/[\s._-]+/", " ", $string);
    // convert whitespaces to hyphens
    $string = preg_replace("/[\s]/", "-", $string);

    return $string;
}

Tags:

Php Example