Autor | Zpráva | ||
---|---|---|---|
Tomikkkkk Profil * |
#1 · Zasláno: 6. 1. 2008, 14:06:48
Mam jeste jednu prosbicku, mam script, ktery mi upravuje URL adresu tak, aby se v ni zobrazoval nadpis nejakeho clanku a jeho ID. Napriklad takto:
Vozidlo Škoda s koly 17" je super vůz (id článku je 1000). Url vypada takto: http://clanek.domena.cz/vozidlo-skoda-s-koly-17-je-super-vuz_1000 jenze mi můj script nejak spravne nefunguje, potreboval bych udelat co nejlehceji prevod nazvu clanku do URL v takovem formatu jak jsem psal, mam to zatim delano takto $nepovolene_znaky_nazvu = "ÁÍÉÓÚÝČĎŘČŠŤĚŽŇŃáäčćďéěëíňńóöřŕšśťúůüýž'=+(),.!?*´%></\\"; $povolene_znaky_nazvu = "aieouycdrcsteznnaaccdeeeinnoorrsstuuuyz----------------"; <?php echo preg_replace("/(-){2,}/i", "-",StrTr(strtolower(str_replace(" ","-",strtolower(stripslashes($rec_clanek["nazev"])))), $nepovolene_znaky_nazvu, $povolene_znaky_nazvu)); ?>_<?php echo $rec_inz["id"]; ?> Poradite mi prosim nekdo jak to jednoduseji udelat? Popr. jak docilit toho, aby to v URL adrese nepsalo (kvuli uvozovkam?) http://clanek.domena.cz/vozidlo-skoda-s-koly-17%22-je-super-vuz_1000¨ Diky moc |
||
Str4wberry Profil |
#2 · Zasláno: 6. 1. 2008, 14:09:09
|
||
Akacko Profil |
#3 · Zasláno: 6. 1. 2008, 14:09:46
|
||
Tomikkkkk Profil * |
#4 · Zasláno: 6. 1. 2008, 14:23:59
Tak jsem to zkusil, nakonec jsem musel udelat toto:
$url = $nadpis; $url = StrTr($url, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ"); $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; pouzivam totiz windows-1250, ale url vypada nyni takto: http://clanek.domena.cz/skoda-na-15-quot-kolech_12067.html potrebuju se zbavit i toho quot :-( |
||
Tomikkkkk Profil * |
#5 · Zasláno: 6. 1. 2008, 14:28:26
To quot pise při tom, když jsou v názvu uvozovky
|
||
Tomikkkkk Profil * |
#6 · Zasláno: 6. 1. 2008, 14:31:38
Myslíte, že se dalo řešení udělat takto?
$url = htmlspecialchars_decode($nadpis); funguje mi to, ale nerad bych udělal něco co by mohl uživatel zneužít |
||
Str4wberry Profil |
#7 · Zasláno: 6. 1. 2008, 16:16:12 · Upravil/a: Str4wberry
„pouzivam totiz windows-1250, ale url vypada nyni takto:“
Mohlo by stačit tedy patřičně upravit následující řádek, ne? $url = iconv("utf-8", "us-ascii//TRANSLIT", $url); |
||
Časová prodleva: 16 let
|
0