php中的单qoute语法打印
以下是产出php中的单qoute语法打印,php,html,Php,Html,以下是产出 href="javascript:showBed(" a114:1')' 当我想把它写在表格上的时候 href="javascript:showBed('A114:1')" 为了让javascript正常工作。我看了一眼,但没法用,所以我放弃了。也许你可以给我一个关于正确语法的提示 echo("<a href='javascript:showBed('" . $row['Bed'] ."')' target='main' class='larmlink'>link
href="javascript:showBed(" a114:1')'
当我想把它写在表格上的时候
href="javascript:showBed('A114:1')"
为了让javascript正常工作。我看了一眼,但没法用,所以我放弃了。也许你可以给我一个关于正确语法的提示
echo("<a href='javascript:showBed('" . $row['Bed'] ."')' target='main' class='larmlink'>link</a>");
echo(“”);
谢谢=)试试这个:
echo("<a href='javascript:showBed(\"" . $row['Bed'] ."\")' target='main' class='larmlink'>link</a>");
echo(“”);
试试这个:
echo("<a href='javascript:showBed(\"" . $row['Bed'] ."\")' target='main' class='larmlink'>link</a>");
echo(“”);
当您想要将变量数据输出到JavaScript时,最好使用json\u encode()
以便自动转义所有特殊字符。htmlspecialchars()
转义HTML属性值中使用的任何值
echo '<a href="',
htmlspecialchars('javascript:showBed(' . json_encode($row['Bed']) . ')'),
'" target="main" class="larmlink">link</a>';
echo';
注意,我对PHP字符串文本使用单引号,这样PHP就不必在字符串中搜索要替换的变量。您不必这样做,但我建议您这样做。当您想将变量数据输出到JavaScript时,最好使用
json\u encode()
,以便自动转义所有特殊字符。htmlspecialchars()
转义HTML属性值中使用的任何值
echo '<a href="',
htmlspecialchars('javascript:showBed(' . json_encode($row['Bed']) . ')'),
'" target="main" class="larmlink">link</a>';
echo';
注意,我对PHP字符串文本使用单引号,这样PHP就不必在字符串中搜索要替换的变量。您不必这样做,但我建议您这样做。您的输出不是它将输出的内容,而是它将如何解释(提示:不要查看已解析的DOM树,请查看源代码)
echo(“
echo(“您的输出不是它将输出的内容,而是解释它的方式(提示:不要查看已解析的DOM树,请查看源代码)
echo(“
echo(“您确实应该在HTML元素属性周围使用更标准的双引号。因此,在PHP中最好使用单引号。我建议:
echo('<a href="javascript:showBed(\'' . $row['Bed'] .'\')" target="main" class="larmlink">link</a>');
echo(“”);
您确实应该在HTML元素属性周围使用更标准的双引号。因此,在PHP中最好使用单引号。我建议:
echo('<a href="javascript:showBed(\'' . $row['Bed'] .'\')" target="main" class="larmlink">link</a>');
echo(“”);
要打印双引号字符,您可以通过执行\“
echo(“”);
要打印双引号字符,可以通过执行\“
echo(“”);
使用“常用”可以使带有混合引号的代码更容易理解:
echo <<<EOD
<a href="javascript:showBed('$row[Bed]')" target="main" class="larmlink">link</a>
EOD;
echo使用“经常”使带有混合引号的代码更容易理解:
echo <<<EOD
<a href="javascript:showBed('$row[Bed]')" target="main" class="larmlink">link</a>
EOD;
echo我喜欢对这样的长字符串使用(或者,但是sprintf
更容易重构),因此很容易看到模板:
echo sprintf("<a href='javascript:showBed(\"%s\")' target='main' class='larmlink'>link</a>", $row['Bed']);
echosprintf(“,$row['Bed']);
我也会考虑使用<代码> $ROC[$'床] 变量,如果它有引号的话。
< P>我喜欢使用(或,但是<代码> SeavtF更容易重构)这样的长字符串,所以很容易看到模板:
echo sprintf("<a href='javascript:showBed(\"%s\")' target='main' class='larmlink'>link</a>", $row['Bed']);
echosprintf(“,$row['Bed']);
我也会考虑使用<代码> $ROC[$'床] 变量,如果它有引号的话。
< p>可以使用语法避免逃避任何东西:
echo <<<LOD
<a href="javascript:showBed('{$row['Bed']}')" target="main" class="larmlink">link</a>
LOD;
echo您可以使用语法避免转义任何内容:
echo <<<LOD
<a href="javascript:showBed('{$row['Bed']}')" target="main" class="larmlink">link</a>
LOD;
echo这是一个偏好问题。我也喜欢HTML属性值的双引号,但两者都是完全有效的。而且,您的答案不适用于$row['Bed']的所有值
。有关正确的解决方案,请参阅我的答案。@Brad我当然喜欢你关于json_编码的建议,尽管我认为普通人在仅仅向json_编码传递一个字符串值时,可能难以理解json_编码行为的不同。这是一个偏好问题。我也更喜欢对HTML属性值使用双引号,但b所有这些都是完全有效的。此外,您的答案不会适用于$row['Bed']的所有值
。有关正确的解决方案,请参阅我的答案。@Brad我当然喜欢你关于json_编码的建议,尽管我认为普通人在向json_编码传递单个字符串值时可能难以理解其行为的不同。这不起作用,你仍然需要引用参数并转义引号。@Greg,Fixed.N请注意,您不必为HTML引用JavaScript值。json_encode()
引用JS字符串。这不起作用,您仍然需要引用参数并转义引号。@Greg,已修复。请注意,您不必为HTML引用JavaScript值。json_encode()
引用JS字符串。但是,这并不能解决转义$row['Bed']
的值的问题……但是,这并不能解决转义$row['Bed']
的值的问题……您的heredoc语法不必要地复杂(不需要{/code>,}
和
的内部)-查看我的答案。您的heredoc语法不必要地复杂(不需要{
,}
,以及'
s内部)-查看我的答案。这不适用于$row['bed']
的所有值。有关解决方案,请查看我的答案。这不适用于$row['bed']
的所有值。有关解决方案,请查看我的答案。