Javascript PHP echo未生成正确的结果,字符串变为小写

Javascript PHP echo未生成正确的结果,字符串变为小写,javascript,php,echo,Javascript,Php,Echo,我试图回显一个调用javascript函数的动态标记,但参数没有正确回显。它们应该保留大小写,而不是添加间距。为什么要这样做 我尝试过删除变量,只是用我想要的内容回显一个直字符串,但它仍然显示不正确 我需要的是: echo'' 纯字符串版本: echo'' 产出: 应输出: 我还尝试: echo”“; 但这仍然产生: 根据达曼的回答,我还尝试: echo'' 这将产生: 编辑上下文: 这是由WordPress支持的博客内容中的动态横幅。你需要这样做,否则它们会混合在一起。

我试图回显一个调用javascript函数的动态标记,但参数没有正确回显。它们应该保留大小写,而不是添加间距。为什么要这样做

我尝试过删除变量,只是用我想要的内容回显一个直字符串,但它仍然显示不正确

我需要的是:

echo''
纯字符串版本:

echo''
产出:


应输出:


我还尝试:

echo”“;
但这仍然产生:


根据达曼的回答,我还尝试:

echo''
这将产生:


编辑上下文: 这是由WordPress支持的博客内容中的动态横幅。

你需要这样做,否则它们会混合在一起。因为在PHP中使用单引号,所以需要在HTML/JavaScript中使用双引号,然后再次使用单引号,但这次从PHP中转义

echo '<a href="'.$info[0].'" onClick="redirTrackCalcBtn(\''.$bname.'\', \''.$info[0].'\')" ><img src="'.$info[1].'"/></a>';
onlick部分现在用转义引号括起来,其他部分保持不变

您有3种语言混合在一起,共3层:

PHP将使用'
-->HTML将使用“
---->JavaScript将使用
每一个都使用双引号或单引号,您只有两个可供选择。因此,您需要转义其中一个引号

一个简单的例子:

echo '<a onclick="alert(\'hi\')">Hello</a>';
echo'Hello';

也许克服引号转义混乱的一个更简单的方法是以不同的方式分配字符串。您可以使用heredoc表示法删除一层引号

另外,您的“正确”输出是不正确的:
onclick=
“redirTrackCalBtn(
测试按钮1,
”/calc“
)”>


您的HTML应该如下所示:


使用表示法,您不必连接和转义,只需按照HTML的方式编写即可:


$link=您可以使用以下技术简化表达式

  • HTML接受单引号或双引号作为属性
  • PHP可以计算双引号分隔字符串中的变量。这可以让你的表达更容易理解
  • 基于此,答案是:


    @Dharman哪些?我使用单引号作为php字符串标识符,所以我不明白为什么我需要转义任何双引号,我还尝试切换到双引号标识符并转义字符串中的每个双引号,但仍然没有正确输出。因为HTML也使用双引号,Javascript也使用双引号。你有3层,但你只有2种可能的引用类型…@Dharman我也尝试了你的,并在评论中报告了回复,我也会将其添加到我的原始帖子中,虽然现在它呈现了\和一些转义字符以及一些其他垃圾
    我在问题中添加了一些上下文,但是它在wordpress设置的循环中。这是为了在博客上显示动态横幅,特别是内容。php@MitchellLewis对不起,我弄错了,我更新了答案。
    echo '<a onclick="alert(\'hi\')">Hello</a>';