Questo è l'array che uso per sostituire gli elementi che non vengono visualizzati come le " e elementi che non voglio come i <br/> (non badate al nome BBcode, ho riciclato un mio vecchio script che utilizzava il preg_replace in modo più comodo):
Codice:
<?
function BBcode_function($string) {
$bbcode = array(
'/((\r)?\n)/',
'/"/'
);
$html = array(
'',
'\'\''
);
$string = preg_replace ($bbcode, $html, $string);
return $string;
}
$string=BBcode_function($string);
?>
Questo invece è lo script vero e proprio:
Codice:
<script type="text/javascript">
var msg = "<?=$string?>"
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz |!£$%&/()=?^\ 1234567890'ì<>è+òàù,.-é*ç°§;:_[]@#";
function shuffle(arr){
var k;
for (i=0; i<arr.length; i++){
k = Math.round(Math.random() * (arr.length - i - 1)) + i;
temp = arr[i];arr[i]=arr[k];arr[k]=temp;
}
return arr;
}
arr = new Array();
for (var i=0; i<msg.length; i++){
arr[i] = i;
}
arr = shuffle (arr);
function setChar(k){
r = Math.round(Math.random() * chars.length);
if (chars.charAt(r) != " "){
document.getElementById("vb"+k).innerHTML = chars.charAt(r);
}
else{
document.getElementById("vb"+k).innerHTML = " ";
}
if (chars.charAt(r) == msg.charAt(k)) {
document.getElementById("vb"+k).style.color = 'white';
return;
}
setTimeout("setChar("+k+")", 10);
}
function init(k){
if (!(document.getElementById)) return;
if (k==msg.length) return;
msgchar = msg.charAt(k);
setChar(k);
k++;
setTimeout("init("+k+")", 10);
}
Mentre questo è l'output (devo ancora sistemare un po' il codice per alleggerirlo, ma per ora va bene così):
Codice:
<script type="text/javascript">for (var i=0; i<msg.length; i++){
document.write("<span id = \"vb" + i + "\" style = \"color: #00FF00; font-family: lucida console; font-size: 11 px; visibility:visible;\">" + msg.charAt(arr[i]) + "<\/span>");
}
</script>
Mi dispiace aver reso il codice da un opensource, perchè così non essendo mio ho avuto alcune difficoltà a capirlo, e ci sono parti che ancora mi sono oscure purtroppo..