Názory k článku
PHP okénko: Zkrácení textu s XHTML značkami
gapon (neregistrovaný)
20. 6. 2005 8:52
Nový
procházení po znacích...
celé vlákno
nebude podle mne nejrychlejší... spíš naopak
Ondrej Ivanic (neregistrovaný)
20. 6. 2005 9:12
Nový
to fungovat spolahlivo nebude
celé vlákno
Vsetky priklady su napisane pre znakove sady ako iso-8859-* t.j. jednobajtove. Pri unicode resp. kodovaniach ako utf-8 bude vysledok velmy zly.
rieseni je viac:
1) prepisanie kodov
2) pouzitie extenzie mbstring a nastavenie mbstring.func_overload
prepisanie prikladov je asi najrozumnejsie, lebo s konstrukciu $s{$i} sa uz spravit nic neda :(. Tam kde sa ale nepouzie staci mbstring.
rieseni je viac:
1) prepisanie kodov
2) pouzitie extenzie mbstring a nastavenie mbstring.func_overload
prepisanie prikladov je asi najrozumnejsie, lebo s konstrukciu $s{$i} sa uz spravit nic neda :(. Tam kde sa ale nepouzie staci mbstring.
20. 6. 2005 9:42
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Dobrá připomínka. Další možností je počkat na další velkou verzi PHP, která bude podporu Unicode obsahovat, takže
$s{$i} bude fungovat i s UTF-8. Na tu si ale ještě nějaký ten měsíc nebo rok počkáme...
Jirka Kosek (neregistrovaný)
20. 6. 2005 10:14
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Na to bych moc nespoléhal. Podpora Unicode měla být v PHP již na přelomu let 2001/2002, a stále nic. Ale třeba se vývojáři konečně pochlapí a začlení ICU do PHP.
Ondrej Ivanic (neregistrovaný)
20. 6. 2005 10:39
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Presne tak, teraz sa pracuje na zacleneni ICU [1] do PHP. Ocakava sa to vo verzii 5.5 alebo 6.0.
[1] http://icu.sourceforge.net/
[1] http://icu.sourceforge.net/
Ondrej Ivanic (neregistrovaný)
20. 6. 2005 10:39
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Presne tak, teraz sa pracuje na zacleneni ICU [1] do PHP. Ocakava sa to vo verzii 5.5 alebo 6.0.
[1] http://icu.sourceforge.net/
[1] http://icu.sourceforge.net/
Ondrej Ivanic (neregistrovaný)
20. 6. 2005 10:40
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Presne tak, teraz sa pracuje na zacleneni ICU [1] do PHP. Ocakava sa to vo verzii 5.5 alebo 6.0.
[1] http://icu.sourceforge.net/
[1] http://icu.sourceforge.net/
20. 6. 2005 13:33
Nový
Re: to fungovat spolahlivo nebude
celé vlákno
Podpora Unicode má být hlavní novinka další velké verze, takže se snad opravdu dočkáme. ICU se má do hlavní vývojové větve (HEAD) dostat hned po vypuštění PHP 5.1, více o tématu se dá získat ve slidech odkazovaných v odkazovaném článků.
20. 6. 2005 17:20
Nový
Kdyby jenom Unicode
celé vlákno
Problémů je tady výrazně víc. Největším je IMHO chování u věcí typu
<tag atribut="5 > 3">tralala</tag>
20. 6. 2005 18:00
Nový
Re: Kdyby jenom Unicode
celé vláknoMáte pravdu. Žil jsem v domnění, že speciální znaky je nutné escapovat i uvnitř hodnot atributů. Nedostatek by měl vyřešit následující kód
$in_quote = '';
while ($i < strlen($s) && ($in_quote || $s{$i} != '>')) {
if (($s{$i} == '"' || $s{$i} == "'") && !$in_quote) {
$in_quote = $s{$i};
} elseif ($in_quote == $s{$i}) {
$in_quote = '';
}
$i++;
}
místo původního
while ($i < strlen($s) && $s{$i} != '>') {
$i++;
}
Všiml jste si ještě něčeho problematického?
21. 6. 2005 10:46
Nový
Re: to fungovat spolahlivo nebude
celé vláknoU UTF-8 je díky šikovnému návrhu možné zůstat u bajtového přístupu a část
default:
$length++;
stačí nahradit za
default:
$length++;
while ($i+1 < strlen($s) && ord($s{$i+1}) > 127 && ord($s{$i+1}) < 192) {
$i++;
}
Daniel (neregistrovaný)
20. 6. 2005 20:42
Nový
promakanejsi obdoba pro JavaScript
celé vlákno
Delam client-side JS aplikace - a tak jsem si napsal kompresor pro JS kod. Jedina vlastnost je, ze vstupni kod musi byt validni, tj psat:
if (neco) { neco; }; // <- hlavne tady ten posledni strednik
(stejne v if/else,try/catch,while,for)
Odkaz na zdroj je:
http://waf.rozsnyo.com/source/?file=%2Fscript%2Fclass.jsCompress.inc.php
Ukazka pouziti:
http://waf.rozsnyo.com/script/
vs.
http://waf.rozsnyo.com/script/?compress
Dela to "kompresi" 1:2 (odstraneni mezer a poznamek), az v budoucnu naroste ten muj system tak pouziju realnou kompresi.
(btw. kdyby jste mel nekdo zajem spolupracovat, napiste maila)
if (neco) { neco; }; // <- hlavne tady ten posledni strednik
(stejne v if/else,try/catch,while,for)
Odkaz na zdroj je:
http://waf.rozsnyo.com/source/?file=%2Fscript%2Fclass.jsCompress.inc.php
Ukazka pouziti:
http://waf.rozsnyo.com/script/
vs.
http://waf.rozsnyo.com/script/?compress
Dela to "kompresi" 1:2 (odstraneni mezer a poznamek), az v budoucnu naroste ten muj system tak pouziju realnou kompresi.
(btw. kdyby jste mel nekdo zajem spolupracovat, napiste maila)
23. 6. 2005 7:42
Nový
Re: promakanejsi obdoba pro JavaScript
celé vlákno
nepis pro kompresi vlastni tridu, bude to stejne pomalejsi a navic nespolehlivy (viz ty pridavne podminky pro ";" apod.). vyuzij toho, ze JS je stejne jako PHP C-derived a projed to token_get_all() funkci s odradkovani vsech prototypu (metod) a funkci po parsovani. je to na par radek a "zadarmo".
uživatel si přál zůstat v anonymitě
23. 6. 2005 22:37
Nový
Re: promakanejsi obdoba pro JavaScript
celé vlákno
vbrazda (neregistrovaný)
---.net.upcbroadband.cz
12. 11. 2010 11:53
Nový

