Categories > TinyButStrong general (FR) >

[fr] fonction nospam

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Philty
Date: 2004-08-27
Time: 18:15

[fr] fonction nospam

function nospam($string){
  $length = strlen($string);
  for ($i=0; $i<$length; $i++)
  {
  $return .= '&#'.ord($string[$i]).';';
  }
  return $return;
}
Cette fonction remplace chaque caractère de l'adresse email par son équivalent en entité HTML et fonctionne très bien dans un script 'normal'. Mais j'ai beau regarder les docs (TBS et PHP) en long, en large et en travers je n'arrive pas à la faire marcher avec TBS... voici comment je l'ai modifiée:
function nospam($NomBloc,&$CurrRec,&$DetailSrc,$RecNum){
    $len=strlen($CurrRec['link']);
    for($i=0;$i<$len;$i++) {
        $ord=ord(substr($CurrRec['link'], $i, 1));
        $CurrRec['link'].='&#'.$ord.';';
    }
}
le template:
<a href="[list.link;block=td;onsection=nospam;htmlconv=no]">[list.link_text]</a>
Ça fait 2 jours que j'y planche dessus... sans compter le post précédent (1390)...
By: Skrol29
Date: 2004-08-27
Time: 18:33

Re: fonction nospam

Normal que ça ne marche pas bien.
Tu modifies la même variable en même temps que tu la lies.
Dans le script original, il y une variable intermédiaire $return.
By: Philty
Date: 2004-08-27
Time: 18:55

Re: fonction nospam

Merci Skrol29, effectivement ça marche bien mieux depuis que je fais:
function nospam($NomBloc,&$CurrRec,&$DetailSrc,$RecNum){
    $return='';
    $len=strlen($CurrRec['link']);
    for($i=0;$i<$len;$i++) {
        $ord=ord(substr($CurrRec['link'], $i, 1));
        $return.='&#'.$ord.';';
    }
    return $CurrRec['link']=$return;
}
Merci encore et bon week end !