Autor | Zpráva | ||
---|---|---|---|
fleury16 Profil |
#1 · Zasláno: 30. 12. 2011, 12:40:49
Zdravím,
hledal jsem script na odstranění diakritiky z textu a tady na JPW jsem našel script od IIlooka: function title2pagename($title) { static $convertTable = array ( 'á' => 'a', 'Á' => 'A', 'ä' => 'a', 'Ä' => 'A', 'č' => 'c', 'Č' => 'C', 'ď' => 'd', 'Ď' => 'D', 'é' => 'e', 'É' => 'E', 'ě' => 'e', 'Ě' => 'E', 'ë' => 'e', 'Ë' => 'E', 'í' => 'i', 'Í' => 'I', 'i' => 'i', 'I' => 'I', 'ľ' => 'l', 'Ľ' => 'L', 'ĺ' => 'l', 'Ĺ' => 'L', 'ň' => 'n', 'Ň' => 'N', 'ń' => 'n', 'Ń' => 'N', 'ó' => 'o', 'Ó' => 'O', 'ö' => 'o', 'Ö' => 'O', 'ř' => 'r', 'Ř' => 'R', 'ŕ' => 'r', 'Ŕ' => 'R', 'š' => 's', 'Š' => 'S', 'ś' => 's', 'Ś' => 'S', 'ť' => 't', 'Ť' => 'T', 'ú' => 'u', 'Ú' => 'U', 'ů' => 'u', 'Ů' => 'U', 'ü' => 'u', 'Ü' => 'U', 'ý' => 'y', 'Ý' => 'Y', 'y' => 'y', 'Y' => 'Y', 'ž' => 'z', 'Ž' => 'Z', 'ź' => 'z', 'Ź' => 'Z', ); $title = strtr($title, $convertTable); return $title; } No a problém je to v že když ho dám do souboru s příponou .inc a includuju ho do stránky tak volaná funkce nefunguje, jakože neodstraní diakritiku cestu mám správně tam mě to nedává erorry. No a když tu funkci napíšu normálně do stránky kde ji volám tak jede naprosto v pořádku, tak prosím o radu jestli někdo ví v čem je chyba? |
||
Bertram Profil |
#2 · Zasláno: 30. 12. 2011, 13:00:35
fleury16:
„neodstraní diakritiku cestu mám správně tam mě to nedává erorry“ Ahoj, co se teda stane? Vrátí ho v původním stavu? |
||
Ugo Profil |
#3 · Zasláno: 30. 12. 2011, 13:05:40
máš zaplé errory?
nezapomeň, že tohle funguje a(); function a() { echo "bbbb"; } tohle nefunguje a(); include('a.inc'); a toto funguje include('a.inc'); a(); hodilo by se říct co to dělá no |
||
fleury16 Profil |
#4 · Zasláno: 30. 12. 2011, 14:06:11
errory zapnuté a includuju to správně pač jinak by to dávalo ty errory
|
||
Someone Profil |
#5 · Zasláno: 30. 12. 2011, 14:08:08
Viz Ugovo [#3] Nevoláš onu funkci dříve než ji includuješ?
|
||
Ugo Profil |
#6 · Zasláno: 30. 12. 2011, 14:14:24
Je pravdou, že nedefinovaná funkce je fatal_error, toho už si člověk všimne :-) Nicméně teď jsem to otestoval a funkčnost je v pohodě. Máš to uložené obojí ve stejném kódování? (UTF-8)
|
||
fleury16 Profil |
#7 · Zasláno: 30. 12. 2011, 14:19:23
Kurnik sem vůl bylo to tím kódováním ono to tam nastavené je ale než se to uloží se to musí tam v pspadu znovu aspoň jednou nastavit a to sem zapomněl díky moc za pomoc
|
||
Fisak Profil * |
#8 · Zasláno: 30. 12. 2011, 14:54:19 · Upravil/a: Fisak
$text = "příliš žluťoučký kůň úpěl ďábelské ódy"; setlocale(LC_ALL, 'czech'); // záleží na použitém systému echo iconv("utf-8", "us-ascii//TRANSLIT", $text); $text = "příliš žluťoučký kůň úpěl ďábelské ódy" echo(StrTr($text, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz")); vyber si jedno řešení :-) |
||
DJ Miky Profil |
#9 · Zasláno: 30. 12. 2011, 15:00:51
Fisak:
„StrTr($text, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz")“ Toto raději nepoužívat, v UTF-8 to selže kvůli vícebajtovým znakům. |
||
fleury16 Profil |
#10 · Zasláno: 30. 12. 2011, 15:27:46
právě kvůli tomu kódování používám tu funkci s pole :)
|
||
Alphard Profil |
#11 · Zasláno: 30. 12. 2011, 18:38:04
Black filtr není v tomto případě asi nikdy zcela spolehlivý.
Inspiroval bych se třeba tímto http://php.vrana.cz/vytvoreni-pratelskeho-url.php (ošetřuje to více věcí, po osekání se můžete dostat na první ukázku v [#8]). Zdůrazňuji hlavně tu část, která na závěr smaže vše, co není povolené. |
||
Časová prodleva: 12 let
|
0