Autor Zpráva
TomasRe
Profil
Dobrý den,

vím, že tady toho bylo napsáno již hodně. Bohužel jsem nenašel žádnou radu, která by mi pomohla.

Jde mi o - výstup z formuláře se přidá do kódu, který se uloží jako soubor.html s kódováním UTF-8. Vše se zobrazuje správně, ale v určitých programech se text rozpadne... Potřeboval bych tedy vložit nějaký převodník, aby nahradil ř za ř .... Viz. ukázka, která ale bohužel nefunguje... Vstupní text z formuláře jsem tu nahradil $to_uni

<?php
$to_uni="řšáé";

function unicon($str, $to_uni = true) {
    $cp = Array (
        "ř" => "ř", "š" => "š",
        "á" => "&aacute;", "é" => "&eacute;"
        );
    
    if ($to_uni) {
        $str = strtr($str, $cp);
    } else {
        foreach ($cp as $c) {
            $cpp[$c] = array_search($c, $cp);
        }
        $str = strtr($str, $cpp);
    }
    
    return $str;
}

$kod=("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<title>pokus</title>
</head>
<body>" . 
$to_uni . "
</body>
</html>");

$soubor=fopen("soubor.html", "w");
fwrite ($soubor, $kod);
fclose($soubor);
?>
TomasRe
Profil
Aha, už jsem na to přišel

$kod=str_replace ("á", "&aacute;", "$kod");
Jan Tvrdík
Profil
TomasRe:
Nestačila by ti funkce htmlentities?
TomasRe
Profil
Asi i stačila, ale nějak mi to nefunguje, teprve se v tom učím, tak asi píšu něco špatně :(. str_replace můžu použít na cokoliv, na odstranění diakritiky, překódování,... Vím, že to je trochu těžkopádný, ale funguje :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: