Autor | Zpráva | ||
---|---|---|---|
jonge Profil |
#1 · Zasláno: 18. 2. 2007, 20:06:11 · Upravil/a: jonge
Chci nahradit text pomocí funkce strtr(), jenomže celý dokument mám v UTF-8 a funkce strtr() toto kódování nepodporuje. Existuje nějaká jiná podobná funkce která by UTF-8 podporovala, nebo to budu muset udělat pomocí str_replace/preg_replace/ereg_replace?
|
||
joejoe Profil * |
#2 · Zasláno: 18. 2. 2007, 20:13:20
zkus preg_replace_all("/aa/u", "bb");
|
||
Peca Profil |
#3 · Zasláno: 18. 2. 2007, 20:20:04
No nevím, ale já problémy s utf nemám. Je ten souboru uložený v utf?
|
||
jonge Profil |
#4 · Zasláno: 18. 2. 2007, 20:33:11
Peca
Jo, to se neboj, zase taková lama nejsem, programování se věnuju už tři roky a teprve teď potřebuji použít funkci strtr ale nejede to kvůli kódování :o( Mimochodem tady je skript: <?php Zkus to ty jestli ti to pojede. |
||
Peca Profil |
#5 · Zasláno: 18. 2. 2007, 20:39:27
Problém je asi v různé délce jednotlivých znaků. Mám skript na přepis adres, kde je to dělané pomocí pole a funguje:
$trans = array("á"=>"a", "ä"=> "a", "č"=>"c", "ď"=>"d", "é"=>"e", "ě"=>"e"....); $url=strtr($url, $trans); |
||
jonge Profil |
#6 · Zasláno: 18. 2. 2007, 20:45:48
Peca
Jasně, takto to funguje ale zkrácenou verzí ne... díky alespoň za toto. |
||
Alphard Profil |
#7 · Zasláno: 18. 2. 2007, 20:50:58
UTF je v některých případech zvláštní :-)
zkuste třeba: echo strlen ("ěščřžýáíéů"); // bude to 10? |
||
Yrrah Profil |
#8 · Zasláno: 18. 2. 2007, 20:50:59
|
||
Yrrah Profil |
#9 · Zasláno: 18. 2. 2007, 20:52:40
Alphard
Ne, to asi těžko. Leda že by použil mb_strlen() |
||
Yrrah Profil |
#10 · Zasláno: 18. 2. 2007, 20:53:59
A ještě bych chtěl dodat, že UTF není nikdy zvláštní. Spíše jsou zvláštní úsměvné metody, které někteří lidé pro zpracování UTF řetězců používají :-)
|
||
jonge Profil |
#11 · Zasláno: 18. 2. 2007, 20:56:41
Yrrah
O těchto funkcích samozřejmě vím, chtěl jsem jen nějakou krátkou funkci abych to nemusel rozepisovat... co už. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0