Hlavní stránka arrow Internet a tvorba webu arrow Wordpress převádí normální uvozovky na okrasné
Wordpress převádí normální uvozovky na okrasné PDF Tisk E-mail
Napsal Stanislav Duben   
Čtvrtek, 28 únor 2008

WordPress převádí úvozovkySetkal jsem se s tím krátce po instalaci WordPressu na doménu www.osa-dekujem.cz a napsáním pár článků. Chtěl jsem uveřejnit html kód, který mohou návštěvníci vložit do svých stránek pokud chtějí podpořit můj web. Jenže pokaždé, když se pokusil vložit klasické úvozovky ", na stránce se objevily sice správně česky vypadající úvozovky, dole a nahoře, ale jako HTML kód se stal text nepoužitelný.

 

Začal jsem zkoušet všechno možné, vypnutí Texy!, editaci natvrdo v databázi. Ale nic nepomohlo. V databázi bylo všechno správně, ale na stránkách se pořád zobrazovaly okrasné úvozovky. Dostal jsem se do stavu, kdy se české úvozovky změnili pouze na horní, ale pořád jakési okrasné. ANSI kód byl místo očekávaného 0034 změněný na 8220. Samozřejmě, že takto použitý kód nikde nefungoval.

Nakonec jsem řešení objevil, WordPress mi prostě vnucuje formátování natvrdo přímo bez možnosti editace. Jediný způsob jak docílit změny okrasných úvozovek na korektní je přímo editace zdrojového kódu WordPressu.

V souboru /wp-includes/formating-php se musi upravit kus kodu

     $static_characters = array_merge(array('---', ' -- ', '--', 'xn–', '...', '``', '\'s', '\'\'', ' (tm)'), $cockney);
    $static_replacements = array_merge(array('—', ' — ', '–', 'xn--', '…', '“', '’s', '”', ' ™'), $cockneyreplace);

    $dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A)"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
    $dynamic_replacements = array('’$1','$1‘', '$1″', '$1′', '$1’$2', '$1“$2', '”$1', '’$1', '$1×$2');

na tento:

     $static_characters = array_merge(array('---', ' -- ', '--', 'xn–', '...', '``', '\'s', '\'\'', ' (tm)'), $cockney);
    $static_replacements = array_merge(array('—', ' — ', '–', 'xn--', '…', '"', '’s', '”', ' ™'), $cockneyreplace);

    $dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A)"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
    $dynamic_replacements = array('’$1','$1‘', '$1″', '$1′', '$1’$2', '$1"$2', '”$1', '’$1', '$1×$2');

Zkrátka natvrdo přepsat &#8220 na &#0034, nebo ho ze seznamu měněných znaků úplně odebrat. Negativem může být, že ostatní úvozovky se také začnou zobrazovat přesně tak jak byly zapsané. Ale pro mě osobně je to spíš pozitivum.

Snad tahle rada pomůže podobně tápajícím, protože žádné řešení na webu jsem v době řešení tohoto problému nenalezl. 


Přidat jako oblíbený (115) | Shlédnutí: 536

  Komentáře (1)
RSS komentáře
 1 Přidal Tato adresa je chráněna proti spamování, pro její zobrazení potřebujete mít Java scripty povoleny website, 14-05-2008 05:18
Měl jsem stejný porblém na GadgetWorld.cz a vyřešil jsem to tak, že jsem uzavřel každou uvozovku do tagu . Takhle: " 
A je to.


Přidat komentář
  • Komentujte prosím relevantě k obsahu článku.
  • Vyplnění položek označených hvězdičkou je povinné.
Jméno:*
E-mail:
WWW:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Komentář:*



MathGuard security question, please solve:

Y64         LLX      
U K    9    9     L49
N34   F57   YXC      
  D    N    P D   AJM
LX5         T6A      

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

 
Další >