Užitečné konverzní funkce v příkladech

14. července 2002

Často potřebujeme použít některé z konverzních funkcí. Pro některé má PHP k dispozici funkce přímo vestavěné, jiné si musíme napsat sami. Připravil jsem pro vás přehled těch, které využijete při své práci nejčastěji.

$code = URLEncode($code);
// připraví řetězec pro předání do parametru v URL
$code = URLDecode($code);
// dekóduje řetězec zakódovaný URLEncode (není třeba používat při běžném přebírání parametrů z URL)
$code = StripSlashes($code);
// odstraní zpětná lomítka před "nebezpečnými" znaky (např. po AddSlashes() )
$code = AddSlashes($code);
// před nebezpečné znaky přidá zpětná lomítka (např. pro předání do SQL dotazu)
$code = $code*1;
// zajistí, že obsah bude pouze číselná hodnota, pro původní údaj nezačínající číslem dává 0 (např. pro předání do SQL dotazu)
$code = StrTr($code,"©ą®ľĄµ«»¦¬¶Ľˇ±","ŠšŽžĽľŤťŚŹśźĄą");
// převod kódování ISO 8859-2 => Windows-1250
$code = StrTr($code,"ŠšŽžĽľŤťŚŹśźĄą","©ą®ľĄµ«»¦¬¶Ľˇ±");
// Windows-1250 => ISO 8859-2
$code = StrTr($code, "áäčďéěëíµňóöôŕřą»úůüýľÁÄČĎÉĚËÍĄŇÓÖÔŘŔ©«ÚŮÜÝ®",
"aacdeeeilnooorrstuuuyzAACDEEELINOOORRSTUUUYZ");
// odstraní diakritiku  z textu v kódování ISO-8859-2
$code = StrTr($code, "áäčďéěëíľňôóöŕřšťúůüýžÁÄČĎÉĚËÍĽŇÓÖÔŘŔŠŤÚŮÜÝŽ",
"aacdeeeilnooorrstuuuyzAACDEEELINOOORRSTUUUYZ");
// odstraní diakritiku z textu v kódování Windows-1250
$code = htmlspecialchars("$code", ENT_QUOTES);
// převede speciální HTML znaky & " < > v textu na entity, apostrof se nepřevádí
$code = htmlspecialchars("$code", ENT_QUOTES);
// převede speciální HTML znaky & ‚ < > na entity, uvozovky se nepřevádějí, převádí se apostrof
$code = $htmlentities($code);
// převede všechny potřebné znaky v textu na entity, apostrof nebo uvozovky se převádí v závislosti na nastavení ENT_COMPAT, ENT_QUOTES nebo ENT_NOQUOTES; konverze je závislá na nastavení národního prostředí, výchozí tabulkou je ISO-8859-1

function unhtmlentities ($string) {
  $trans_tbl = get_html_translation_table (HTML_ENTITIES);
  $trans_tbl = array_flip ($trans_tbl);
  return strtr ($string, $trans_tbl);
}

$code = unhtmlentities($code);
// pomocí vlastní funkce se pokusí převést entity v textu na skutečné znaky

$code = Str_Replace("&","&amp;",$code);
// zobrazit jako zdrojový kód HTML, zabrání interpretaci entit v kódu
$allowtags = "<embed>, <marquee>, <blink>, <hr>, <ul>, <li>, <ol>, <p>, <br>, <font>, <b>, <u>, <i>, <small>, <big>, <strong>, <em>, <a>, <img>";
// výčet povolených tagů
$code = strip_tags($code,$allowtags);
// z obsahu proměnné body vyjme nepovolené tagy
$code = nl2br($code);
// znak nový řádek v textu nahradí tagem <br />
$code = wordwrap( $code, 30, "<br />", 1);
// každých 30 znaků vloží tag zalomení, hodí se např. pro výpis příspvěků do diskusního fóra (aby někdo nerozboural design příliš dlouhým slovem)
$code=ereg_replace(" ([svzkuoiaSVZKAUOI]) ", " \\1&nbsp;", $code);
// doplní pevnou mezeru za jednoznakové předložky a spojky

Další funkce nebo případné upřesnění uvedených příkladů naleznete na stránkách PHP.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Štítky: Články

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *