ugrás a tartalomhoz

friendly url probléma

Termes · 2017. Okt. 3. (K), 13.06
Sziasztok.

Az alábbi funkcióval vannak gondjaim. Az ékezetes betűket ékezettelenítve adja vissza ( ez jó), kivéve a "ő" és "ű" betűket. Ezeket cseréli "-"-re.
Illetve az "&" karaktert kellene "es"-re cserélnie (ez nincs még benne).

public function seo_friendly_url($string){

	    $string = str_replace(array('[\', \']'), '', $string);
	    $string = preg_replace('/\[.*\]/U', '', $string);
	    $string = preg_replace('/&(amp;)?#?[a-z0-9]+;/i', '-', $string);
	    $string = htmlentities($string, ENT_COMPAT, 'utf-8');
	    $string = preg_replace('/&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);/i', '\\1', $string );
	    $string = preg_replace(array('/[^a-z0-9]/i', '/[-]+/') , '-', $string);
	    return strtolower(trim($string, '-'));
	}
Árvíztűrő & tükörfúrógép -> "arvizt-r-amp-tukorfurogep" az "arvizturo-es-tukorfurogep"
helyett.
Segítene valaki, hogy hogyan tudnám megoldani a problémát?

Köszi.
 
1

Egyesével

Hidvégi Gábor · 2017. Okt. 4. (Sze), 09.23
Próbáld meg egyesével megnézni, hogy az egyes függvények mit csinálnak, és ennek megfelelően módosítani a paraméterekeiket.
2

érdemes megnézni, hogy mások

MadBence · 2017. Okt. 4. (Sze), 13.00
érdemes megnézni, hogy mások hogyan oldották meg, hisz nem valószínű, hogy te szembesültél ezzel a problémával először. ezt a seo-friendly url-t szokták slug-nak is hívni, a függvény ami pedig ilyet gyárt, gyakran hívják slugify-nak, így ennek lenne érdemes utánanézned.
3

Csak str_replace?

Arnold Layne · 2017. Okt. 5. (Cs), 14.21
Tipp: Két bazinagy listával és a str_replace függvénnyel esetleg?
4

Az a probléma, hogy az

inf · 2017. Okt. 5. (Cs), 22.18
Az a probléma, hogy az "a-z"-ben nincsenek benne az ékezetes karakterek. Használj utf-8 regexet, ha ilyesmit akarsz. "\p{L}"

Egyébként transliterator-nak is hívják az ilyen konvertereket: http://php.net/manual/en/transliterator.transliterate.php