我一直试图制作一个按钮,一旦用鼠标滚动就会变成另一个图像,但是在echo命令中的代码会引起一些复杂化。这是我试图使用的php代码,否则只需在删除onmouse函数时显示图像:
if ($pg > 0) { echo ('<div class="next"><a href="?pg='.($pg-1).'"><img src="/images/prevpage.gif" onmouseover="this.src='/images/prevpagehl.gif';" onmouseout="this.src='/images/prevpage.gif';"/></a></div>'); }
使用此代码会导致出现以下错误:
解析错误:语法错误,第145行/home/wintblxq/public_html/index.php中的意外T_CONSTANT_ENCAPSED_STRING
我可以使语法发生任何变化以使其正常运行,或者我是否需要尝试新方法?
答案 0 :(得分:2)
你需要逃避你的报价(实际上你的报价):
if ($pg > 0) {
echo '<div class="next"><a href="?pg='.($pg-1).'"><img src="/images/prevpage.gif" onmouseover="this.src=\'/images/prevpagehl.gif\';" onmouseout="this.src=\'/images/prevpage.gif\';"/></a></div>';
}
答案 1 :(得分:1)
您需要转义onmouseover
和onmouseout
javascript中的单引号:
if ($pg > 0)
{
echo ('<div class="next"><a href="?pg='.($pg-1).'"><img src="/images/prevpage.gif" onmouseover="this.src=\'/images/prevpagehl.gif\';" onmouseout="this.src=\'/images/prevpage.gif\';"/></a></div>');
}
PHP将这些与字符串的结尾混淆。
答案 2 :(得分:1)
首先需要使用反斜杠示例来转义单引号:
<?php echo '<p onmouseover="alert(\\'SIngle Quotes\\');">YAY</p>';
更简单的方法来编写php并查看它(在我的意见中)是从php分离HTML。你的代码就是我写的方式。
<?php if ($pg > 0) { // PHP Scripts ?>
<!-- HTML Tags and text -->
<div class="next"><a href="?pg=<?php $pg-1 // MORE PHP CODE WITHIN HTML ?>"><img src="/images/prevpage.gif" onmouseover="this.src='/images/prevpagehl.gif';" onmouseout="this.src='/images/prevpage.gif';"/></a></div>
<?php } ?>
通过这种方式,您不必担心转义所有单引号,您可以更好地看到它。