Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un petit soucis avec les routes. En local tout est ok, mais pas en ligne ; la création de la route ne me prends pas les accents et les supprime tout bonnement :
$route = new Zend_Controller_Router_Route_Regex( '(.+)-(\d+)i\.html', array( 'action' => 'edit', 'controller' => 'individuels', 'page' => 1 ), array( 1=>'title', 2=>'id' ), '%s-%di.html' ); $router->addRoute('fiche_sejours', $route);
J'utilise aussi cette fonction dans un Helper de vue :
public function friendlyUrls($url) { $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; }
$link = $this->url(array( "title" => $this->friendlyUrls($row['title']), "id" => $row['id_sejour'], "page" => 1), "fiche_sejours");
Le champs titre qui est pourtant bien codé dans la bdd et à l'affichage :
dtente-et-bien-tre-en-haute-provence-36i.html au lieu de detente-et-bien-etre-en-haute-provence-36i.html
Que se passe-t-il ?
Merci à tous,
Fabrice
Dernière modification par __fabrice (09-04-2010 15:53:37)
Hors ligne
On m'as donné une réponse, la voici :
public function friendlyUrls($url) { $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url); $url = trim($url, "-"); setlocale(LC_CTYPE, 'fr_FR.utf8'); $url = iconv("utf-8", "ascii//TRANSLIT", $url); $url = strtolower($url); $url = preg_replace('~[^-a-z0-9_]+~', '', $url); return $url; }
Fabrice
Hors ligne