normalize neodstraní bílé znaky \xc2 \xa0

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
knyttl
Člen | 196
+
0
-

Parsuju teď složitější texty a řešil jsem, proč mi na konci řádku zůstávají bílé znaky. Nakonec jsem tam našel \xc2 a \xa0. Normalize je samo o sobě neodstraní – nevím, jestli je to chyba, nebo prostě to už jsou znaky, které už ani nejsou „bílé“…

Taky by asi bylo fajn, kdyby normalize umělo odstranit bílé znaky i na začátku řádků – např. něco jako String::normalize($string, self::BOTH_SIDES).

David Grudl
Nette Core | 8228
+
0
-

Ono je to tím, že normalize() lze použít i na jiném kódování než UTF-8. Ale myslím, že kdybych ji omezil čistě na UTF-8 a naučil ořezávat nedělitelné mezery, k žádnému BC breaku by nedošlo.

knyttl
Člen | 196
+
0
-

A co tedy UTF8 nějak detekovat? A k tomu oboustrannému ořezávání?

Díky moc.

David Grudl
Nette Core | 8228
+
0
-

V oboustranném ořezávání nevidím moc smysl…

knyttl
Člen | 196
+
0
-

Já právě parsuju spousty textů a používám to pořád. Takhle používám normalize a k tomu ještě funkci navíc. Ale byl to jen nápad, no.

pekelnik
Člen | 462
+
0
-

K ořezu přeci slouží…

<?php
Nette\String::trim($s, $charlist);
?>

Editoval pekelnik (2. 9. 2010 15:31)

knyttl
Člen | 196
+
0
-

Aha, tak to je asi to, co jsem chtěl. Díky.