【问题标题】:HTML/CSS/PHP - multiple quotation marks [duplicate]HTML / CSS / PHP - 多个引号[重复]
【发布时间】:2014-09-22 20:04:06
【问题描述】:

我们都知道引号必须有它的伙伴。但是,如果我有 3 个连续的元素会用完引号(PHP 回显、HTML 和 CSS 类、Javascript 函数),我该怎么办?像这样的

echo '
    <tr class="table-body" onclick="showMenu('edit-user-window')">
        <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
        <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
        <td> Pass </td>
        <td> user </td>
        <td> View-Only </td>
    </tr>
'; 

回声的引号在我的 onclick 函数开始时中断。我该怎么做?

【问题讨论】:

  • 在引号前使用反斜杠...

标签: javascript php html css quotes


【解决方案1】:

你可以简单地逃避它:

echo ' <tr class="table-body" onclick="showMenu(\'edit-user-window\')">.....';

备注

您收到的错误是因为您在这些点有效地“破坏”了字符串。这是不好的连接。通过在这些逗号 (') 之前使用 \,您是在告诉 php 解释器 ignore 该斜杠 (\) 后面的字符,在这种情况下是逗号 (')。

【讨论】:

  • 第一个解决方案不起作用,因为 OP 也在字符串中使用语音标记。
  • @swiss196 好地方,没看到。已编辑。
【解决方案2】:

当你使用单引号时,只使用双引号,反之亦然 作为

echo '
 <tr class="table-body" onclick="showMenu("edit-user-window")">
        <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
        <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
        <td> Pass </td>
        <td> user </td>
        <td> View-Only </td>
    </tr>

'

echo "
 <tr class='table-body' onclick='showMenu('edit-user-window')'>
        <td> <input type='submit' class='delete-but graphic-buts' value='' /> </td>
        <td> <a href='/res/doc.docx' target='_blank'> User </a> </td>
        <td> Pass </td>
        <td> user </td>
        <td> View-Only </td>
    </tr>

"

【讨论】:

    【解决方案3】:

    ' 之前使用反斜杠\ -> \'(也适用于封装在" 中的字符串 -> \"

    echo '
        <tr class="table-body" onclick="showMenu(\'edit-user-window\')">
            <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
            <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
            <td> Pass </td>
            <td> user </td>
            <td> View-Only </td>
        </tr>
    '; 
    

    或使用heredoc 语法

    echo <<<EOT
        <tr class="table-body" onclick="showMenu('edit-user-window')">
            <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
            <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
            <td> Pass </td>
            <td> user </td>
            <td> View-Only </td>
        </tr>
    EOT; 
    

    【讨论】:

      【解决方案4】:

      像这样使用反斜杠...

      onclick="showMenu(\'edit-user-window\')"
      

      反斜杠在 PHP 中用于转义引号内的特殊字符。

      【讨论】:

        【解决方案5】:

        您可以使用 \ 转义字符,因此您的示例如下所示:

        echo '
            <tr class="table-body" onclick="showMenu(\'edit-user-window\')">
                <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
                <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
                <td> Pass </td>
                <td> user </td>
                <td> View-Only </td>
            </tr>
        '; 
        

        【讨论】:

          【解决方案6】:

          使用斜线跳过它

          echo '
              <tr class="table-body" onclick="showMenu(\'edit-user-window\')">
                  <td> <input type="submit" class="delete-but graphic-buts" value="" /> </td>
                  <td> <a href="/res/doc.docx" target="_blank"> User </a> </td>
                  <td> Pass </td>
                  <td> user </td>
                  <td> View-Only </td>
              </tr>
          ';
          

          【讨论】:

            猜你喜欢
            • 2016-02-15
            • 1970-01-01
            • 2017-12-10
            • 2019-12-01
            • 2017-09-19
            • 2016-03-18
            • 2013-04-06
            • 2023-03-08
            • 1970-01-01
            相关资源
            最近更新 更多