Bez diakritiky

Táto funkcia odstráni v jazyku PHP diakritiku. Uznávam, vyzerá to strašne ;-)

<?php
// definicia diakritickych znakov
$diacritical_letters_alphabet = array(
    "Á" => "A", // Á - sk, cs, fr
    "Ä" => "A", // Ä - sk, de
    "Ă" => "A", // Ă - ro
    "Â" => "A", // Â - ro, fr
    "Ą" => "A", // Ą - pl
    "À" => "A", // À - it, fr
    "Æ" => "AE", // Æ - dk
    "Å" => "A", // Å - dk
    "Č" => "C", // Č - sk, cs, hr
    "Ć" => "C", // Ć - pl, hr
    "Ç" => "C", // Ç - fr
    "Ď" => "D", // Ď - sk, cs
    "Đ" => "D", // Đ - hr
    "É" => "E", // É - sk, cs, it, fr
    "Ě" => "E", // Ě - cs
    "Ę" => "E", // Ę - pl
    "È" => "E", // È - it, fr
    "Ê" => "E", // Ê - fr
    "Ë" => "E", // Ë - fr
    "Í" => "I", // Í - sk, cs, fr
    "Î" => "I", // Î - ro, fr
    "Ì" => "I", // Ì - it, fr
    "Ï" => "I", // Ï - fr
    "Ĺ" => "L", // Ĺ - sk
    "Ľ" => "L", // Ľ - sk
    "Ł" => "L", // Ł - pl
    "Ň" => "N", // Ň - sk, cs
    "Ń" => "N", // Ń - pl
    "Ó" => "O", // Ó - sk, cs, pl, it, fr
    "Ô" => "O", // Ô - sk, fr
    "Ö" => "O", // Ö - de, dk
    "Ò" => "O", // Ò - it, fr
    "Ø" => "O", // Ø - dk
    "Œ" => "OE", // Œ - fr
    "Ŕ" => "R", // Ŕ - sk
    "Ř" => "R", // Ř - cs
    "Š" => "S", // Š - sk, cs, hr
    "Ș" => "S", // Ș - ro
    "Ś" => "S", // Ś - pl
    "ß" => "S", // ß - de
    "Ť" => "T", // Ť - sk, cs
    "Ț" => "T", // Ț - ro
    "Ú" => "U", // Ú - sk, cs, fr
    "Ů" => "U", // Ů - cs
    "Ü" => "U", // Ü - de, fr
    "Ù" => "U", // Ù - it, fr
    "Û" => "U", // Û - fr
    "Ý" => "Y", // Ý - sk, cs
    "Ž" => "Z", // Ž - sk, cs, hr
    "Ź" => "Z", // Ź - pl
    "Ż" => "Z", // Ż - pl

    "á" => "a", // á - sk, cs, fr
    "ä" => "a", // ä - sk, de
    "ă" => "a", // ă - ro
    "â" => "a", // â - ro, fr
    "ą" => "a", // ą - pl
    "à" => "a", // à - it, fr
    "æ" => "ae", // æ - dk
    "å" => "a", // å - dk
    "č" => "c", // č - sk, cs, hr
    "ć" => "c", // ć - pl, hr
    "ç" => "c", // ç - fr
    "ď" => "d", // ď - sk, cs
    "đ" => "d", // đ - hr
    "é" => "e", // é - sk, cs, it, fr
    "ě" => "e", // ě - cs
    "ę" => "e", // ę - pl
    "è" => "e", // è - it, fr
    "ê" => "e", // ê - fr
    "ë" => "e", // ë - fr
    "í" => "i", // í - sk, cs, fr
    "î" => "i", // î - ro, fr
    "ì" => "i", // ì - it, fr
    "ï" => "i", // ï - fr
    "ĺ" => "l", // ĺ - sk
    "ľ" => "l", // ľ - sk
    "ł" => "l", // ł - pl
    "ň" => "n", // ň - sk, cs
    "ń" => "n", // ń - pl
    "ó" => "o", // ó - sk, cs, pl, it, fr
    "ô" => "o", // ô - sk, fr
    "ö" => "o", // ö - de, dk
    "ò" => "o", // ò - it, fr
    "ø" => "o", // ø - dk
    "œ" => "oe", // œ - fr
    "ŕ" => "r", // ŕ - sk
    "ř" => "r", // ř - cs
    "š" => "s", // š - sk, cs, hr
    "ś" => "s", // ś - pl
    "ș" => "s", // ș - ro
    "ť" => "t", // ť - sk, cs
    "ț" => "t", // ț - ro
    "ú" => "u", // ú - sk, cs, fr
    "ů" => "u", // ů - cs
    "ü" => "u", // ü - de, fr
    "ù" => "u", // ù - it, fr
    "û" => "u", // û - fr
    "ý" => "y", // ý - sk, cs
    "ž" => "z", // ž - sk, cs, hr
    "ź" => "z", // ź - pl
    "ż" => "z"  // ż - pl
  );

  // nahradi diakriticke pismenka
  $str = strtr($str, $diacritical_letters_alphabet);
?>

Inú "fintu" popisuje vo svojom blogu Jakub Vrána v článku Vytvoření přátelského URL. Pre istotu to tu opíšem, ak by to časom bolo nedostupné:

<?php
/** Vytvoření přátelského URL
* @param string $nadpis řetězec v kódování UTF-8, ze kterého se má vytvořit URL
* @return string řetězec obsahující pouze čísla, znaky bez diakritiky, podtržítko a pomlčku
* @copyright Jakub Vrána, http://php.vrana.cz
*/
function friendly_url($nadpis) {
    $url = $nadpis;
    $url = preg_replace('~[^pL0-9_]+~u', '-', $url);
    $url = trim($url, "-");
    $url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
    $url = strtolower($url);
    $url = preg_replace('~[^-a-z0-9_]+~', '', $url);
    return $url;
}
?>

Uverejnené: 28.11.2008 14:25
(JR)

Kategórie: Php

Tagy: diakritika

pošli na vybrali.sme.sk pošli do vybrali.sme.sk

Ďalší článok »
« Predchádzajúci článok

Pred tým, než napíšete komentár, skúste porozmýšľať, akú bude mať pre čitateľov informačnú hodnotu. Nekonštruktívne komentáre budú bez upozornenia zmazané. Môžete písať kritické komentáre, snažte sa mi ale oponovať a vyjadrovať svoj názor vecne. Komentáre typu 'hlúpy článok', 'venuj sa niečomu serióznemu', 'cool článok', 'veľmi si mi pomohol' a pod. mi skúste písať radšej na Facebook, kde si to rád prečítam ;-)

RSS  Komentáre

24.06.2009, 14:24:51foobar_Použiť mb_strtolower() a netreba sa dvakrát babrať aj s malými, aj s veľkými písmenami ;)


* Nebude zverejnený
* Voliteľné

Články publikované v rovnakej kategórii:

Upozornenie: Tento blog píšem hlavne pre vlastné potreby. Zaznamenávam v ňom pre mňa zaujímavé informácie, udalosti a píšem k nim vlastné názory. Informácie zverejnené v tomto blogu sú teda častokrát mojim vysokosubjektívnym názorom. Rovnako tu môžu byť, napriek mojej snahe, zverejnené dezinformácie, prípadne jednostranné názory. Vezmite to prosím pri čítaní tohto blogu do úvahy. Ďakujem za pochopenie.... :-)

Kategórie:

Ing. Jozef Rusňák
Jozef Rusňák
Programátor a webdizajnér.
Tvorí súčasť vývojárskej skupiny boberdoo.com americkej spoločnosti boberdoo.com LLC
» Viac informácií

Najnovšie z Twitter:

» viac