?
| Current Path : /home/webyoo/www/leumi/site/ |
| Current File : /home/webyoo/www/leumi/site/slug_helper.php |
<?php
// Génère un slug "latin" à partir d'un titre (souvent en hébreu) + l'id du bien,
// et sait retrouver l'id depuis un slug. Aucune colonne en base nécessaire :
// l'id est toujours à la fin du slug.
if (!function_exists('property_slug')) {
function property_slug($title, $id) {
// Translittération hébreu -> latin (approximative, suffisante pour le SEO)
$map = array(
'א'=>'','ב'=>'b','ג'=>'g','ד'=>'d','ה'=>'h','ו'=>'v','ז'=>'z','ח'=>'ch','ט'=>'t',
'י'=>'y','כ'=>'k','ך'=>'k','ל'=>'l','מ'=>'m','ם'=>'m','נ'=>'n','ן'=>'n','ס'=>'s',
'ע'=>'','פ'=>'f','ף'=>'f','צ'=>'tz','ץ'=>'tz','ק'=>'k','ר'=>'r','ש'=>'sh','ת'=>'t',
'"'=>'', "'"=>'', '׳'=>'', '״'=>''
);
$s = strtr((string)$title, $map);
if (function_exists('mb_strtolower')) { $s = mb_strtolower($s, 'UTF-8'); } else { $s = strtolower($s); }
// Ne garder que lettres latines + chiffres ; le reste devient un tiret
$s = preg_replace('/[^a-z0-9]+/u', '-', $s);
$s = trim($s, '-');
if ($s === '') { $s = 'nechs'; } // fallback (נכס)
return $s . '-' . (int)$id;
}
}
if (!function_exists('slug_to_id')) {
function slug_to_id($slug) {
if (preg_match('/(\d+)$/', (string)$slug, $m)) { return (int)$m[1]; }
return 0;
}
}