Php Javascript-转义特定字符

Php Javascript-转义特定字符,php,javascript,delimiter,Php,Javascript,Delimiter,我正在使用php创建一些字符串,需要使用javascript拆分() 例如: <?php $string = "Apples"; $string .= "|"; // delimiter $string .= "Oranges"; $string .= "|"; // delimiter $string .= "Grapes"; ?> and here I split the string with JS: <script> var str = <?php ech

我正在使用php创建一些字符串,需要使用javascript拆分()

例如:

<?php
$string = "Apples";
$string .= "|"; // delimiter
$string .= "Oranges";
$string .= "|"; // delimiter
$string .= "Grapes";
?>

and here I split the string with JS:
<script>
var str = <?php echo $string; ?>
var fruitsArray = str.split('|'); 
for(var i=0; i<fruitsArray.length; i++){
 // do stuff here
}
</script>

这里我用JS拆分字符串:
var str=
var foultsarray=str.split(“|”);

对于(var i=0;i尝试使用更成熟的方式将变量封送到javascript中,比如json

要将php数组转换为json,请执行以下操作:

要在javascript中从json获取数组,请执行以下操作:

  • 使用jQuery:
  • 或者在javascript中使用eval()(警告:不安全-仅在信任数据源时使用-如果字符串是用户提供的,则不要使用),或者隐式eval:
    var-furtarray=;

    • 对我来说,最快的解决方案是设计一个完全唯一的分隔符,即使它是“|%^*”

      对我来说,最好的解决办法是开发一个。也就是明确定义所有类型的单词

      比如说

      delimeter :: |
      list :: (element |)*
      element :: [\w]+ (: list)*
      
      在明确定义所有内容的情况下进行干净的设计将允许您涵盖边界情况

      一个例子是,在您的示例中,元素中有一个delimeter,但您需要找到一种方法来区分它。我的解决方案是,如果delimeter在元素中,它必须在整个列表周围有一个括号。否则,您不知道元素在哪里结束,列表将继续

      如果我不清楚,你可以随时阅读维基百科关于语法的页面,或者在线进行研究


      我希望我说的很清楚。

      为什么不完全跳过打包/解包?
      var-furtarray=;
      如果你要
      echo
      $string
      直接放入你的JS中,为什么不
      echo
      一个数组文本呢?
      echo json_encode(array('Apples', 'Oranges'));
      
      delimeter :: |
      list :: (element |)*
      element :: [\w]+ (: list)*