2

我正在做一个涉及一个喊话箱的学校作业。一个使用 jquery、ajax、mysql 和 php 的很棒的教程。现在我遇到了以下句子的一个小问题:

$result .= "<li><strong>".$row['user']."</strong><img src="\" alt="\"-\""    />".$row['message']." <span class="\"date\"">".$row['date']."</span></li>";}

我想知道是否有人能找出它为什么会出错。到目前为止,我得出了这个结论$row['message'],然后它将其余代码视为字符串。所以这可能是一个撇号问题。

4

4 回答 4

5

只是为了让您的生活更轻松:'用于 php 和"html,如下所示:

$result .= '<li><strong>'.$row['user'].'</strong><img src="" alt=""/>'.$row['message'].' <span class="date">'.$row['date'].'</span></li>';

很确定你应该明白这一点。

于 2012-05-15T20:47:34.070 回答
1
$result .= "<li><strong>{$row['user']}</strong><img src='http://www.' alt='My Alt Tag' />{$row['message']}<span class='date'>{$row['date']}</span></li>";

进出引号会让您感到困惑 - 您可以用 {} 包装变量以在这种情况下强制插值。

于 2012-05-15T20:46:19.593 回答
0

看来您正试图逃避引号并使您的工作更加困难。PHP 中用于 HTML 输出的一个很棒的特性是使用带引号的字符串,这样您就不必担心转义双引号。请参考字符串的 PHP 手册

换句话说,你的行变成:

 $result .= '<li><strong>' . $row['user'] . '</strong><img src="" alt="-" />' . $row['message'] .
            '<span class="date">' . $row['date'] . '</span></li>' .
            '<li><strong>' . $row['user'] . '</strong><img src="" alt="-" />' . $row['message'] . 
            '<span class="date">' . $row['date'] . '</span></li>';
于 2012-05-15T20:50:00.123 回答
0
$result .= "<li><strong>".$row['user']."</strong><img src='' alt='-'/>".$row['message']." <span class='date'>".$row['date']."</span></li>";}

避免在字符串中使用 " - 很容易忘记转义特殊字符。而不是 " use '。此外 - 只有在此字符串中需要进行任何 PHP 解析时才使用 "。例如

$var1 = 1;
$test = "$var1"; //evaluates to '1'
$test = '$var1'; //evaluates to '$var1'
于 2012-05-15T20:48:18.510 回答