Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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
Javascript 脚本标记php中的转义单引号_Javascript_Php_Escaping_Php 5.6 - Fatal编程技术网

Javascript 脚本标记php中的转义单引号

Javascript 脚本标记php中的转义单引号,javascript,php,escaping,php-5.6,Javascript,Php,Escaping,Php 5.6,我有以下资料: <?php echo '<script type="text/javascript">(function(d) {var url="http://myurl.com"; var iframe = d.createElement("iframe");(iframe.frameElement || iframe).style.cssText = "width: 0; height: 0;border: 0;"; iframe.src = "javascript:fa

我有以下资料:

<?php echo '<script type="text/javascript">(function(d) {var url="http://myurl.com"; var iframe = d.createElement("iframe");(iframe.frameElement || iframe).style.cssText = "width: 0; height: 0;border: 0;"; iframe.src = "javascript:false"; d.body.appendChild(iframe);var doc = iframe.contentWindow.document; doc.open().write(\'<body onload="window.location.href=\'+url+\'">\'); doc.close();})(document); </script>'; ?>

它在页面上创建和iframe,并将iframe的body标记的onload属性设置为url变量的值

我的问题是,我希望url的值用单引号括起来,如:

<body onload="window.location.href='http://myurl.com'"></body> (**Noticed the single quotes around the url?**)
(**注意到url周围的单引号?**)
但我得到的却是:

<body onload="window.location.href=http://myurl.com"></body> (**without single quotes around the url**)
(**url周围不带单引号**)
有人能帮忙吗


提前谢谢

我会亲自使用HEREDOC。他们不是很出名,但他们是非常强大的方式做字符串

<?php
        echo <<<CODE 
<script type="text/javascript">(function(d) {var url="http://myurl.com"; var iframe = d.createElement("iframe");(iframe.frameElement || iframe).style.cssText = "width: 0; height: 0;border: 0;"; iframe.src = "javascript:false"; d.body.appendChild(iframe);var doc = iframe.contentWindow.document; doc.open().write('<body onload="window.location.href=\''+url+'\'">'); doc.close();})(document); </script>

CODE; //<-- note nothing can come before or after this no spaces or even this comment.

注意,
我个人会使用一个herdeoc。他们不是很出名,但他们是非常强大的方式做字符串

<?php
        echo <<<CODE 
<script type="text/javascript">(function(d) {var url="http://myurl.com"; var iframe = d.createElement("iframe");(iframe.frameElement || iframe).style.cssText = "width: 0; height: 0;border: 0;"; iframe.src = "javascript:false"; d.body.appendChild(iframe);var doc = iframe.contentWindow.document; doc.open().write('<body onload="window.location.href=\''+url+'\'">'); doc.close();})(document); </script>

CODE; //<-- note nothing can come before or after this no spaces or even this comment.
请注意
尝试以下操作:

<?php echo  "<script type='text/javascript'>
(function(d){
    var url='http://myurl.com'; 
    var iframe = d.createElement('iframe');
    (iframe.frameElement || iframe).style.cssText = 'width: 0; height: 0;border: 0;'; 
    iframe.src = 'javascript:false'; 
    d.body.appendChild(iframe);
    var doc = iframe.contentWindow.document; 
    doc.open().write('<body onload=\"window.location.href=\''+url+'\'\">'); 
    doc.close();
})(document); 
</script>";
 ?>
试试这个:

<?php echo  "<script type='text/javascript'>
(function(d){
    var url='http://myurl.com'; 
    var iframe = d.createElement('iframe');
    (iframe.frameElement || iframe).style.cssText = 'width: 0; height: 0;border: 0;'; 
    iframe.src = 'javascript:false'; 
    d.body.appendChild(iframe);
    var doc = iframe.contentWindow.document; 
    doc.open().write('<body onload=\"window.location.href=\''+url+'\'\">'); 
    doc.close();
})(document); 
</script>";
 ?>

我怀疑那是可能的。我会尝试用双引号回应,逃避那些;保留
doc.open()的单引号。写入('
并将其中的单引号转义。我怀疑这是可能的。我会尝试用双引号转义,将其转义;保留
doc.open()的单引号。写入(“
并转义其中的单个。我认为这仍然需要额外的
\”
此处
'…location.href=\''+url+'\'“>'
只有在Javascript中需要时才可以。是的。OP表示他想要/需要url周围的
。好的,我会解决它,这确实很难,因为这是一个非常长的复杂字符串。我想这仍然需要额外的
\'
在这里
'…location.href=\''+url+'\'“>'
只有在Javascript中需要时才可以。是的。OP说他想要/需要url周围的
。好的,我会解决它,这确实很难,因为这是一个非常长的复杂字符串。“试试这个”如果有解释为什么这个版本会有帮助以及本质区别是什么,答案通常会帮助更多。感谢@Jeff的评论“试试这个”。如果有解释为什么这个版本会有帮助以及本质区别是什么,答案通常会帮助更多。感谢@Jeff的评论