Autor Zpráva
Blemicek
Profil *
Zdravím,
na xchatu se mi už dlouho líbí zakodování emailů s kterým běžné spam boty nepočítají
rád bych nyní využil toto zakodování i u sebe na webu ale netuším jak na to ... :D

viz http://xchat.centrum.cz/~guest~/whoiswho/profile.php?uid=12291351&part=1&extra=w%3Dr%26sex%3D-1

nemá někdo ponětí co je to za funkci?
díky :)
SeparateSK
Profil
<?php
     function zakoduj($text){
           $r="";
           for($i=0;$i<strlen($text);$i++)
                $r.="&#".ord($text[$i]).";";
           return $r;
     }
?>
Davex
Profil
Pro převod všech znaků na HTML entity poslouží funkce
function encode2($str) {
    $str = mb_convert_encoding($str , 'UTF-32', 'UTF-8');
    $t = unpack("N*", $str);
    $t = array_map(function($n) { return "&#$n;"; }, $t);
    return implode("", $t);
}

Převzato z http://stackoverflow.com/a/3005240.
Blemicek
Profil *
já si vždycky myslel, že na to je jen php funce :D
SeparateSK
Profil
Môže byť predsa aj v javascripte:
<script>
    function zakoduj(text){
        var r="";
        for(i=0;i<text.length;i++)
            r+="&#"+((text.charCodeAt(i)))+";";
        return r;
    }
    var text="moj@email.tld";
    alert(zakoduj(text));
</script>
Blemicek
Profil *
Davex:
Pro převod všech znaků na HTML entity poslouží funkce

zkoušel jsi?
nepovedlo se mi to rozjet na řádku
$t = array_map(function($n) { return "&#$n;"; }, $t);
to hlásí: Parse error: syntax error, unexpected T_FUNCTION, expecting ')'



i když jsem si myslel, že to vyřeší funkce podobná htmlspecialchars :) :D
Davex
Profil
Blemicek:
zkoušel jsi?
Ano.

Anonymní funkce jsou podporované od PHP 5.3 a pro starší verzi se musí callback přesunout do normální funkce.

i když jsem si myslel, že to vyřeší funkce podobná htmlspecialchars
Obvykle není potřeba převádět všechny znaky na entity.

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: