我最近在Joomla项目上遇到了很多错误,并且发现了(在类代码中)......
return "<span class='...
Run Code Online (Sandbox Code Playgroud)
要么
echo "<h3 id='...
Run Code Online (Sandbox Code Playgroud)
代替
return "<span class=\"...
echo "<h3 id=\"...
Run Code Online (Sandbox Code Playgroud)
这包括引号中的变量很多次,但它仍然可以通过单引号找到我的浏览器.在经历和改变这些之前,我想看看别人有什么要说的.我的项目是http://dev.thediabetesnetwork.com.
我已经看了这个并发现了很多相互矛盾的信息,所以我想重新讨论最新的PHP /浏览器配置,看看我是否忽略了其他细节.
浏览器接受两者,因此没有更深层次的理由选择一个在另一个之前.从PHP的角度来看,单引号的可读性略高,因为您可以用双引号括起字符串并使用变量替换.比较你自己
"<a href='$url'>Foo</a>"
"<a href=\"$url\">Foo</a>"
'<a href="' . $url . '">Foo</a>'
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是例如手动替换内容
sprintf('<a href="%s">Foo</a>', $url);
Run Code Online (Sandbox Code Playgroud)
或者是heredoc
echo <<<HTML
<a href="$url">Foo</a>
HTML;
Run Code Online (Sandbox Code Playgroud)
我会选择最适合当前环境的那个(关于可读性).
如果字符串中的所有双引号都被转义,那么读起来会容易得多\.
如果需要在字符串表达式中输出变量,则必须使用双引号.如果要在双引号内输出HTML,则可以使用'或\"包含HTML属性.第一个是首选,因为它导致更清晰的PHP代码.
如果您不希望HTML使用单引号,那么您可以转义所有引号,使用heredoc语法,或将变量连接到字符串中,如:
echo '<div class="test">' . $var . '</div>';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |