String funkce Javascript programování
(function () {
String.prototype.isString = true;
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, "") };
String.prototype.endsWith = function (a) { return this.substr(this.length - a.length) == a };
String.prototype.startsWith = function (a) { return this.substr(0, a.length) == a };
})();
77LW NO topic_id
AD
Další témata ....(Topics)
Multi-byte UNICODE PHP.
Pokud pracujete s diakritikou budou se Vám hodit funkce, které začínají mb_ tedy multi-byte funkce.Abyste nemuseli do každé funkce udávat kódování viz příklad
$mbLen = mb_strlen('žluťoučký','utf-8');
přidávejte na začátek kódu internal encoding
mb_internal_encoding('utf-8');
$mbLen = mb_strlen('žluťoučký');
Příklad si vyzkoušejte a ověřte hodnoty $mbLenJak změřit čas trvání vykonání nějaké funkce, nebo provedení části kódu v PHP
$start_time = microtime(true);
// do some work
$end_time = microtime(true);
// Calculate execution time
$execution_time = ($end_time - $start_time);
echo " Execution time = ".$execution_time." sec";
Date: 11.06.2020 - 09:14Ke konverzi diakritiky slouží v PHP mnoho funkcí, ale výsledky jsou různé.
Někdy je lepší si udělat vlastní funkci.
Níže uvedená funkce zamění v řetězci paznaky, za jejich čitelný ekvivalent:
Někdy je lepší si udělat vlastní funkci.
Níže uvedená funkce zamění v řetězci paznaky, za jejich čitelný ekvivalent:
/**
* konverze diakritiky - okhelp.cz
*/
function diakritika($vstup) {
$arMala = array('á'=> 'á', 'ÄŤ'=> 'č', 'ÄŹ'=> 'ď', 'Ă©'=> 'é', 'Ä›'=> 'ě',
'Ă'=> 'i', 'Ĺ'=> 'ň', 'Ăł'=> 'ó', 'Ĺ™'=> 'ř', 'š'=> 'š', 'ĹĄ'=> 'ť', 'Ăş'=> 'ú', 'ĹŻ'=> 'ů', 'Ă˝'=> 'ý', 'Ĺľ'=> 'ž' );
$arVelka = array('Ă'=> 'Á', 'Ä©'=> 'Č', 'Ĭ'=> 'Ď', 'É'=> 'É', 'ı'=> 'Ě',
'Ă«'=> 'Í', 'Ň'=> 'Ň', 'Ă"'=> 'Ó', 'Ĺ'=> 'Ř', 'Ĺ '=> 'Š', 'Ť'=> 'Ť', 'ñ'=> 'Ú', 'ĹŽ'=> 'Ů', 'ö'=> 'Ý', 'Ĺ˝'=> 'Ž' );
foreach ($arMala as $key=>$value) {
$vstup = str_replace($key, $value, $vstup);
}
foreach ($arVelka as $key=>$value) {
$vstup = str_replace($key, $value, $vstup);
}
return $vstup;
}
mb_internal_encoding("UTF-8");
$s = 'áčď';
$novy = diakritika($s); // $novy == ačď
/*******************
* převede kůň na kun
* máte možnosti buď si napíšete funkci sami něci jako diakritikaKlasicka($vstup)
* nebo použijete $word = iconv("utf-8", "us-ascii//TRANSLIT", $word);
*ale výsledek otestujte, ne vždy je u iconv uspokojivý
*/
$word = "kůň";
$word = iconv("utf-8", "us-ascii//TRANSLIT", $word);
function diakritikaKlasicka($vstup) {
$arMala = array('á'=> 'a', 'č'=> 'c', 'ď'=> 'd', 'é'=> 'e', 'ě'=> 'e',
'í'=> 'i', 'ň'=> 'n', 'ó'=> 'o', 'ř'=> 'r', 'š'=> 's', 'ť'=> 't', 'ú'=> 'u',
'ů'=> 'u', 'ý'=> 'y', 'ž'=> 'z' );
$arVelka = array('Á'=> 'A', 'Č'=> 'C', 'Ď'=> 'D', 'É'=> 'E', 'Ě'=> 'E',
'Í'=> 'I', 'Ň'=> 'N', 'Ó'=> 'O', 'Ř'=> 'R', 'Š'=> 'S', 'Ť'=> 'T',
'Ú'=> 'U', 'Ů'=> 'U', 'Ý'=> 'Y', 'Ž'=> 'Z' );
foreach ($arMala as $key=>$value) {
$vstup = str_replace($key, $value, $vstup);
}
foreach ($arVelka as $key=>$value) {
$vstup = str_replace($key, $value, $vstup);
}
return $vstup;
}
htaccess rady a zkušenosti
Testování kódu htaccess ZDEPříklady na jakpsatweb
Dokumentace na apache.org
Testování regexů
Komentar nesmi byt na stejnem radku, jako kod. Zde jsou komentare, na konci radku (vedle) prikazu, jen kvuli snadnejsimu pochopeni kodu.
RewriteCond string (regex1) # tento radek nebude fungovat, koment musi byt na samostatnem radku, nejlepe nad provadenym kodem.
# tak je to spravne, komentar na samostatnem radku a nejlepe nad ukolem
RewriteCond string (regex1)
RewriteRule dosáhne jen na regex předchozího RewriteCond!
RewriteCond string (regex1) # nedosahne
RewriteCond string (regex2)
RewriteRule (regex) %1 # v %1 bude regex2
Číslo za % udává, kolikátá skupina předchozího regexu v RewriteCond bude použita. %0 vezme vše ze všech skupin.
Pokud skupina neexistuje, tak se vypíše jako %N , kde N je číslo skupiny, která nebyla nalezena.
$1 číslo za $ udává kolikátá skupina regexu bude použita, ale platí jen pro RewriteRule z jeho vlastního regexu. $0 vezme všchny skupiny (group) regexu z RewriteRule.
RewriteCond může být několikrát za sebou, ale jakmile se jedna z těchto podmínek nesplní, tak se nesplní ani následující RewriteRule!
RewriteCond # podmínka nesplněna
RewriteCond # splněna
RewriteRule # se nevykoná, protože jedna z podmínek nebyla splněna
RewriteRule přísluší vždy k předchozímu - předchozí skupině RewriteCond. Následující RewriteRule už je samostatné viz příklad:
RewriteCond
RewriteRule # tohle reaguje na předchozí podmínku a vykoná se, když je podmínka splněna
RewriteRule # tohle už je samostatné a nebude brát ohled na podmínku - podmínky v předchozích řádcích.
Využití regexu, který bude vytvořen až v následujícím RewriteRule. Regex Back-Reference Availability
Date: 27.02.2020 - 11:11
Jeden znak: a, b nebo c | [abc] | [abc] | a bb ccc |
Znak kromě: a, b nebo c | [^abc] | [^abc] | d, ff, mmm ale ne a, bb, ccc |
Znak od až po: a-z | [a-z] | [a-z] | jez, mez, bez ale ne keřík - neumí diakritiku |
Znak není v rozsahu: a-z | [^a-z] | vybere prázdné mezery i pismena s diakritikou | |
Znak v rozsahu: a-z nebo A-Z | [a-zA-Z] | neumí diakritiku | |
Jakýkoliv jednotlivý znak | . | bere vše i diakritiku, kromě znaku konce řádku | |
Znak mezery | \s | ^\r
\t\f\v a mezery | |
Znak není mezera | \S | vše kromě mezer viz výš | |
Číslice | \d | pouze číslice | |
Libovolné jiné než číslice | \D | vše výjma číslic | |
Jakýkoliv znak písmena | \w | \w+ | celá slova pokud neobsahují diakritku či nepísmena |
Jakýkoli znak jiný než písmeno | \W | \W+ | *-+#@ ale ne _ podtržítko |
Vše co bude v závorce (group) | (...) | (he) | všechna he ze slov |
Buď a nebo b | (a|b) | (a|b) | vybere vešechna a i b ze slov |
Nula nebo jeden znak a | a? | bao? | bao , ba, ale ne samotne b |
Nula nebo více | a* | bao* | ba, bao ale ne b, bax, bac |
Jeden nebo více | a+ | a až nekonečno aaaa i a uprostřed slova | |
Přesně 3 znaky a | a{3} | aaa aaaa jen první 3 znaky, ale ne aa | |
3 nebo více znaků a | a{3,} | aaa až nekonečno aaaaaaaa | |
Mezi 3 a 6 znaky a | a{3,6} | aaa aaaaaa ale ne aa | |
Začátek řetězce | ^ | ^\w+ | např. slovo je začátek nového řádku |
Konec řetězce | $ | \w+$ | (veme konci) poslední slovo na konci |
Hranice slova | \b | d\b | (veme d na konci slov) hrad led |
Není hranice slova | \B | a\B | a v ab, ale ne v ba |
Nový řádek |
| \r
?| | cross platform newline / nalezne nový řádek napříč platformami |
Tab - tabulátor | \t | ||
Carriage return CR | \r | návrat vozíku https://cs.wikipedia.org/wiki/Carriage_return | |
Editace: 1414050792
Počet článků v kategorii: 77
Url:string-funkce-javascript-programovani-id-764