Menší pomůcka · by Kašpy
Zase sem po několikáté četl na jaknaweb.com příspěvek, kde se ptali , jak zformátovat text pomocí např [podtrhni]nějakej text[/podtrhni]. Je to furt na jedno brdo. Tohle se tam řeší skoro pořád a nikdo ne a ne si to najít v již vložených příspěvcích. Dotyčnému radili, aby použil str_replace, ale to je v tomto případě chyba. Pokud totiž někdo zapomene (nebo schválně) neukončí tag, zformátuje mu to i další text na stránce. Takže řešení je v preg_replace. A kvůli tomu sem udělal tento jednoduchý script, kterej by měl lidem usnadnit práci – sice žádnou práci asi nevynaložili (tedy kromě toho napsanýho dotazu), ale ať to tu je. Adresa je zde
Komentář [4]

Proč máme s UTF-8 problém - autor error414 · by Kašpy
Článek napsal Error414 – by Kaspy sem tam doplňuje – za článek mu tímto děkuji.
UTF-8 je v PHP5 a nižších špatně podporované a při práci sním si musím dát pozor na několik funkcí, které pracují s textem (reg, eregi, plit, strcut, strlen, substr ). Pro práci s UTF-8 (multi-bytové kódovaní) mají tyto funkce ekvivalenty
: mb_ereg, mb_eregi, mb_split, mb_strcut, mb_strlen, mb_substr. Vždy s prefixem mb_ (multi-byte).
Proč ale mají obyčejné funkce s UTF-8 problém? Je to proto že pro interpretaci některých znaků používá UTF-8 více bytů. Pro spodní polovinu ASCII použije jeden byte, pro interpretaci znaků s háčky a čárky použije dva byty.
Můžeme si to vyzkoušet. Použijeme funkci strlen (vrací počet znaků ).
UTF-8
<?php
$delka = strlen('kůň běhá po loukách');
echo $delka;
// vypise 24
?>
ISO 8859-2
<?php
$delka = strlen('kůň běhá po loukách');
echo $delka;
// vypise 19
?>
UTF-8 s funkcí mb_strlen
<?php
$delka = mb_strlen('kůň běhá po loukách', 'utf-8');
echo $delka;
// vypise 19
?>
Všimněte si že funkce mb_strlen má navíc jeden argument, který určuje jaké kódování jsme použili.
Problém začátečníkům také dělá identifikační byty na začátku textového souboru UTF-8, který vytvořím ve špatně nastaveném editoru. Identifikační byty mají hodnotu EF BB (<). Normálně textový editor tyto byty nezobrazí. Musíme soubor otevřít v hexa editoru .
Výborný nástroj pro práci s UTF-8 je PsPad, který nám dovoluje identifikační byty vypnout. Zobrazit
Práce s UTF-8 není snadná, ale není nemožná stačí si zapamatovat pár problémů, které UTF-8 způsobuje.
V připravované verzi PHP6 má být jako nativní kódování použito UTF-16.
Komentář k článku od autora error414 [7]

POZOR, CO SI VYBERETE · by Kašpy
Není funkce jako funkce. V tomto příkladu ukážu příklad s funkcí str_replace a strtr. Obě slouží k nahrazení textu, ale výsledek Vás může někdy překvapit. Zde je následující příklad.
<?php
$text = "ABCDEF";
//Nahradí ABCDEF za FEDCBA
echo str_replace(array("A", "B", "C", "D", "E", "F"), array("F", "E", "D", "C", "B", "A"), $text) . "<br />";
//Nahradí ABCDEF za ABCCBA
echo strtr($text, "ABCDEF", "FEDCBA");
?>
Vysvětlení je následující.
Písmeno->čim se nahradí->výsledný text
A->F->FBCDEF
B->E->FECDEF
C->D->FEDDEF
D->C->FECCEF
E->B->FBCCBF
F->A->ABCCBA
Příště doplnim další funkce, u kterých může nastat takovýto zvrat.

