PHP回声问题

时间:2016-04-27 16:14:05

标签: javascript php jquery

我有一个功能,我的回声是:

echo '<tr>
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>
               </tr>'

问题是onclick="insertSmiley("hallo")"必须与'相关,而不是"。如果我把这个放在html中,一切正常,但是当我点击时,在回声中没有任何反应。

我的index.php在正文中有这个脚本:

<script type="text/javascript"> 
    function insertSmiley(smiley) 
    { 

        var currentText = document.getElementById("send"); 

        var smileyWithPadding = " " + smiley + " "; 
        currentText.value += smileyWithPadding; 
    currentText.focus(); 

    } 
</script> 

,其他代码在我的chat.php中:

    echo '<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea>
<tr>
    <td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>
                   </tr>

我真的认为问题是因为我无法在回声中使用''而我需要onClick...('hallo')

4 个答案:

答案 0 :(得分:3)

使用\'打印'

PHP中使用反斜杠来转义引号内的特殊字符。由于PHP不区分字符串和字符

如果你这样写

echo 'check it \' out'; 

它将提供这样的输出

check it ' out

所以像这样使用

echo '<tr>
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley(\'hallo\')"> <br>:illuminati:</td>
               </tr>'

答案 1 :(得分:1)

您没有在echo语句中回显任何变量,只需在代码之外添加PHP标记:

//Your PHP code here
?>
        <tr>
            <td align="center" style="padding:5px;">
                <img src="/chat/emotes/smile.png" onclick='insertSmiley(" hallo")'>
                <br>:illuminati:
            </td>
        </tr>
    <?php

// Continue your php code

如果您必须在HTML中回显变量,请按以下方式进行:

$greetings = "Hallo";

    //Your PHP code here
    ?>
            <tr>
                <td align="center" style="padding:5px;">
                    <img src="/chat/emotes/smile.png" onclick="insertSmiley('<?php echo $greetings; ?>')">
                    <br>:illuminati:
                </td>
            </tr>
        <?php

答案 2 :(得分:0)

试试这个:

 <?php

   echo "<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea>";
   echo "<tr>";
   echo "<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>";
   echo "</tr>";

?>

答案 3 :(得分:0)

您可以使用:

onclick="insertSmiley(\'hallo\')"