代码之家  ›  专栏  ›  技术社区  ›  Brad

在输入类型HTML的回声中斜线

  •  0
  • Brad  · 技术社区  · 15 年前

    我不想在显示HTML时显示所有斜线

    我拥有的是

    echo "<input type=\"text\" name=\"myname\" value=\"myvalue\"";
    

    我想做的是:

    echo '<input type="text" name="myname" value="myvalue">';
    

    我正在努力避免自己打所有的斜线。有办法解决这个问题吗?

    5 回复  |  直到 15 年前
        1
  •  3
  •   Paolo Bergantino    15 年前

    第二个例子是可行的(尽管它很难看),我假设您希望有一种方法能够在用双引号打印HTML时打印变量。如果是这样的话,你可以用 Heredoc 语法:

    echo <<<DOC
    <input type="text" name="myname" value="myvalue">
    DOC;
    

    或者,更好的是,您可以使用模板系统(PHP类型)或MVC框架来分离业务和表示逻辑,这样您就不必首先打印输入字段之类的内容。:)

        2
  •  2
  •   Jani Hartikainen    15 年前

    你可能不想真实地回音,保罗解释得很好,但一般来说,撇号和引号的最佳实践如下:

    如果文本中有撇号,请用双引号将其括起来。”

    echo "foo bar 'baz'";
    

    如果您有双引号,请用单引号括起来。

    echo 'foo bar "baz"';
    

    这样你就不用用反斜杠把它弄乱了。如果您同时拥有这两种类型,请根据paolo的示例来考虑Heredoc,或者只使用其余代码通常使用的样式。

    关于在HTML中使用撇号而不是双引号的问题。当您想要包含变量时,交换它们可能会很有用,但最好始终保持相同的样式——始终使用撇号,或始终使用双引号。

    您还可以使用printf(或sprintf),这是一个PHP程序员经常忘记的函数:

    printf('<input type="text" name="myname" value="%s" />', $value);
    
        3
  •  1
  •   PatrikAkerstrand    15 年前

    你的第二个例子工作得很好。但是,如果您希望使用单斜杠引用HTML,它仍然有效。这还允许您引用变量:

    echo "<input type='text' name='myname' value='$value' />";
    
        4
  •  1
  •   Ben Blank    15 年前

    别忘了,你也可以按照以下方式做一些事情:

    /* 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 .查看他们的视频教程,了解这些框架的操作方式。有一些学习曲线,但从长远来看它会帮助你!

    其他框架和模板系统:

    祝你好运!

    如果您有任何问题,请随时发表评论。

        5
  •  0
  •   MechaBoosh    15 年前
    echo '<img src="'.$files[$i].'">';