Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用';及;在PHP和Javascript的代码中?_Javascript_Php - Fatal编程技术网

如何使用';及;在PHP和Javascript的代码中?

如何使用';及;在PHP和Javascript的代码中?,javascript,php,Javascript,Php,我想知道如何在代码中使用大量的“and” 例如: echo 'document.write("<a href='$url'> <img src='{$row["image"]}' border='0' /> </a>");'; echo'document.write(“”); 我试过了,但出现了错误。任何人都可以帮助吗?这将起作用: <?php $url = "http://www.google.com"; $row = array("image"

我想知道如何在代码中使用大量的“and”

例如:

echo 'document.write("<a href='$url'> <img src='{$row["image"]}' border='0' /> </a>");';
echo'document.write(“”);
我试过了,但出现了错误。任何人都可以帮助吗?

这将起作用:

<?php
$url = "http://www.google.com";
$row = array("image" => "image.png");
echo "document.write('<a href=\"$url\"> <img src=\"".$row["image"]."\" border=0 /> </a>');";
// output: document.write('<a href="http://www.google.com"> <img src="image.png" border=0 /> </a>');
?>

因此,您在这里遇到了多层次的问题:

  • 回显到html的数据通常应该通过htmlspecialchars正确转义
  • 您想查看
    文档。编写(“…”)
    在最终生成的html中,这将触发javascript语法错误
  • 为避免此错误,应在“字符串内部”之前使用
    \
  • echo'文档。写(“”;;

    注意:我使用单引号的echo,如果使用双引号,则必须使用双引号

    如果使用双引号,您的代码将如下所示:


    echo“document.write(\“\”);“;

    这里有三种方法来解决这个问题

    1.避开内部双斜杠

    echo”文档。写入(“”);";
    

    2.关闭PHP标记并编写javascript

    ?>
    文件。写(“”);
    
    您可以使用heredoc语法:

    echo <<<EOT
    document.write(<a href='{$url}'> <img src='{$row["image"]}' border='0' /> </a>);
    
    EOT;
    

    echo您想要实现什么?@Rhopercy一个带有链接hrefYou的图像可以转义您的HTML属性。Smarty模板呢?使用您当前的代码,属性将不会被引用,即
    href=http://example.com
    @FernandoOliveira:Updated.@Reto by unbuffered您的意思是不会创建任何字符串,但会创建every块将由其自己输出?