Diskuze: Slovník sprostých slov
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Místo str_replace použij podobnou, vylepšenou funkci
str_ireplace...
Viz dokumentace http://php.net/…ireplace.php
Koukám do dokumentace, zkouším ale buď jsem to pochopil špatně, nebo dělám prostě něco špatně. Mohu požádat o ukázku s mim příkladem jak str_ireplace() funguje? Koukal jsem že v podstatě skoro stejně.
Tak ako sa píše v dokumentácii:
mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
Funkcia str_ireplace má ako prvý parameter že čo má hľadať (jedno slovo, alebo pole slov), druhý parameter je náhrada za to čo hľadáme (jedno slovo, alebo aj pole slov, vtedy musí byť aj prvý parameter pole a tuším nejako spolu súvisia), a ako tretí parameter je premenná v ktorej hľadáme a nahradzujeme. Po prebehnutí vráti vásledok.
Funkcia str_ireplace sa od str_replace líši v tom, že hľadá slová nezávislo na veľkosti písmen. Napr: a v prehľadavanom reťazci hľadané slovo pes označí za výsledky aj slová pes, Pes, PEs, PES, pEs... zatiaľ čo str_replace by našla len pes
<?php
$povodnyText = "Funkcia str_ireplace má ako prvý parameter že čo má hľadať (jedno slovo, alebo pole slov), druhý parameter je náhrada za to čo hľadáme (jedno slovo"; // bla bla bla
$zleSlova = array("nadavka", "urazka", "blud"); // atd
$nahradaZaZleSlova = "...";
$vyslednyText = str_ireplace($zleSlova, $nahradaZaZleSlova, $povodnyText);
Problém je v tom, že nezvládá diakritiku, nedokáže převést č na Č...
Na to by mohl použít mb_str_replace(). Ale pokud chce funkci str_ireplace s UTF-8, může se podívat sem: http://stackoverflow.com/…str-ireplace
Večer ozkouším a juknu se na to jakmile budu z práce doma
Teď jsem ve volné chvíli četl odpověď.. Tak jsem to pochopil správně, ale problém je v tom že většina sprostých slov má diakritiku Takže proto mi to nějak nešlo. Určitě zkusím co psal Jan Lupčík . Ještě jsem koukal na nějaké funkce převedení znakové sady když se jedná právě o UTF-8. Večer testnu a dám vědět. Nějaké řešení být určitě musí
Tu funkci si musím vytvořit? Já jen že neexistuje, ale našel jsem
podobnou snad...
mb_ereg_replace
mb_eregi_replace
odkaz na neexistující: http://php.net/…l-lookup.php?…
A že by třeba ten někdo napsal proč mám mínus? Takhle se fakt poučím ..
Věřím, že až případně příště napíšu nějakou asi stejnou botu, tak si dotyčný bude mnout ruce a zase dá mínus? A bude mít radost, že "možná" je chytřejší než ten na koho tajně poukazuje.. Rád bych zjistil co dělám špatně, však proto sem píšu, nebo to dotyčný nechápe? ... Tohle mě fakt dokáže naštvat a zvednout ze židle...
Mínusy neřeš Jsou tu jedinci, kteří jen chodí a jen mínusují
Pokud ti nejde mb_str_replace() (mně teda funguje), tady se zdá,
že je hezky vytvořen. Nezkoušel jsem ho ale.
https://gist.github.com/…rphy/3098836
Každopádně pokud chceš i ty varianty s velký písmenky, zkus ten minulý odkaz a vytvořit si sám takovou metodu.
Zobrazeno 13 zpráv z 13.