显示html
时,我不想显示所有斜杠我拥有的是
echo "<input type=\"text\" name=\"myname\" value=\"myvalue\"";
我想做的是:
echo '<input type="text" name="myname" value="myvalue">';
我希望不要输入所有斜杠。有办法吗?
答案 0 :(得分:3)
你的第二个例子有效(尽管很难看),我假设你想要一种能够在用双引号打印HTML时打印变量的方法。如果是这种情况,您可以使用Heredoc语法:
echo <<<DOC
<input type="text" name="myname" value="myvalue">
DOC;
或者,更好的是,您可以使用模板系统(PHP类型)或MVC框架来分离您的业务和表示逻辑,这样您就不必在第一个中输入输入字段等内容地点。 :)
答案 1 :(得分:2)
你可能不想真正回应那些东西,Paolo很好地解释了这一点,但一般来说,关于撇号和引号的最佳实践如下:
如果文本中有撇号,请将其括在双引号“
中echo "foo bar 'baz'";
当你有双引号时,请用撇号括起来
echo 'foo bar "baz"';
这样你就不必用反斜杠弄乱它了。如果您有这两种类型,请根据Paolo的示例考虑heredoc,或者只是坚持其他代码通常使用的样式。
关于在HTML中使用撇号而不是双引号的问题。当你想要包含变量时交换它们可能很有用,总是保持相同的样式会更有利 - 总是撇号,或者总是双引号
你也可以使用printf(或sprintf),这个函数经常被PHP程序员遗忘:
printf('<input type="text" name="myname" value="%s" />', $value);
答案 2 :(得分:1)
你的第二个例子很好用。但是,如果您希望使用单斜杠来引用HTML,它仍然有效。这也可以让你引用变量:
echo "<input type='text' name='myname' value='$value' />";
答案 3 :(得分:1)
不要忘记你也可以做一些事情:
/* PHP CODE */
?>
--- HTML HERE ---
<input type="text" name="myname" value="myvalue">
<?php
/*PHP CODE */
通常我使用带有撇号的第二个例子。
<?php
echo '<input type="text" name="myname" value="myvalue">';
?>
正如Paolo所提到的,您还可以研究基于MVC的框架。哪个是模型 - 视图 - 控制器。这是将显示代码(表示逻辑)与功能代码(业务逻辑)分离的一种非常好的方法。
一个好的入门MVC框架是CodeIgniter。查看他们的视频教程,以了解这些框架的运作方式。有一点学习曲线,但从长远来看它会帮助你!
其他框架和模板系统:
最好的运气!
如果您有任何问题,请随时发表评论。
答案 4 :(得分:0)
echo '<img src="'.$files[$i].'">';