当我从数据库打印出句子时,我现在想要的不是显示分隔符。例如,在数据库中,一个元素存储"Jane likes#to#play the#piano"
。所以它实际上会分成4个字符串元素。但是,首先执行任何功能,例如拖放字符串数组元素。我想首先打印出句子“简喜欢弹钢琴”。为了让人记住这句话,他们就可以开始玩游戏了。
下面的代码显示“Jane喜欢###play#piano”。而不是我想要的是“简喜欢弹钢琴。”
$output
是从数据库中检索的句子。
<script>
//Parses the variable from php to this Javascript part
var js_var = "<?php echo $output ?>";
//document.write(js_var);
//Splits the string when the delimiter # is detected
var split_str= js_var.split("#");
//var js_var = "Try123";
//displays original string
document.writeln(js_var+"<br >"+"<br >");
//sent to shuffle(o) function to scramble the elements
var shuffle_str = shuffle(split_str);
//displays each of the shuffled string array elements
for (i=0;i<shuffle_str.length;i++)
{
document.write(shuffle_str[i] + "<br >");
}
//document.writeln(js_var);
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
</script>
答案 0 :(得分:0)
分裂后才使用
yourString = yourString.join(' ')
也把它们放在一起(带空格)。
或者只是使用正则表达式而不是将其拆分为yourString = yourString.replace(/#/, ' ')
。