pavelevap / ceske-sluzby

České služby pro WordPress
56 stars 25 forks source link

PCDATA invalid Char value 26 #128

Open pavelevap opened 7 years ago

pavelevap commented 7 years ago

Když někdo zkopíruje do obsahu nějaké nepěkné věci (např. U+001A), tak bude feed nevalidní :-(

Message: PCDATA invalid Char value 26

Budu třeba zjistit, kde se to tam bere, proč to TinyMCE nezlikviduje a co s tím...

pavelevap commented 7 years ago

Takže jde o jeden z řídících znaků a asi bychom je měli raději odstraňovat všechny, aby k podobným problémům nedocházelo. Pokud se dostanou do vizuálního editoru, tak tam zůstanou, obecný feed s příspěvky se zobrazuje, ale není validní. Konkrétně jde v tomto případě o substitute character (číslo 26). Plugin ale používá pro generování XMLWriter a tam se to z nějakého důvodu zasekne (asi nějaká interní kontrola použité knihovny), což je asi dobře, protože to alespoň upozorní na problém :-)

Zatím netuším, jak se to tam dostalo, ale uživatel kopíroval texty z jiného webu, takže buď nějakým způsobem v rámci kopírování nebo to měli už na webu, těžko říci.

Dalším možným zápisem je preg_replace('/\x1A/', '', wp_strip_all_tags( $description ) );

Zatím vyřešíme tento znak a uvidíme.

A také by se asi mělo použít WriteCData() pro DESCRIPTION a některé další položky, i když s tím asi zatím nikdo problém neměl.

pavelevap commented 7 years ago

Podobný problém...

Do krátkého popisu se podařilo vložit následující text: Luxusný kombinovaný..., čímž je feed samozřejmě rozbit, možná by tomu šlo nějak hromadně předcházet?

Zajímavé, Github to nezobrazí správně (viz screenshot), ale editor WP to bez problému pustí :-( Objeví se pak chyba: PCDATA invalid Char value 8.

image