我可以重复在单引号与变量?
例
echo 'I love my $variable.';
我需要这样做,因为我有很多HTML的呼应了。
您必须使用:
echo 'I love my ' . $variable . '.';
这种方法附加变量字符串。
或者你可以使用:
echo "I love my $variable.";
注意这里使用了双引号!
使用转义唱引号包围的文本字符串为:
variable='my dog'
echo \''I love ' $variable\'
=>“我爱我的狗”
如果有大量的文字,看看在定界符。
$var = <<<EOT
<div style="">Some 'text' {$variable}</div>
EOT;
注意:与double-quoted和heredoc语法,variables和逃避特殊字符序列将不会被替换,当它们发生在单引号的字符串。
因此,答案是否定的,不是这样的。
解决方法很简单:
不要echo
HTML。
只要你不是在创造像部分观点或东西†,没有理由呼应HTML。 PHP嵌入到HTML改为:
<div class="foo">
<span><?php echo $value; ?></span>
</div>
其优点是:
†:在这种情况下heredoc
[docs]是最糟糕的选择。
号变量(和特殊字符)仅扩大用双引号分隔的字符串。如果你想在一个单引号分隔字符串的变量,你必须来连接它,而不是:
echo 'I love my '.$variable.'.';
你也可以逃脱你的HTML的双引号,如果你想用的双人间引号分隔字符串:
echo "<a href=\"$url\">$text</a>";
见PHP手册on strings,特别是在string parsing部分,以获取更多信息。
第'
将无法解析的变量。采用
echo 'I love my '.$variable.'.';
要么
echo "I love my {$variable}. And I have \" some characters escaped";
不是字符串内,但你可以退出串并连接到变量。
echo 'I love my '.$variable.'.';
另一个选项是只是逃避双引号。
echo "I love my \"$variable\".";
或者只是进出PHP的呼应变量(虽然难看)。
I love my <?php echo $variable; ?>.
With short tags enabled, I love my <?=$variable?>.
最后,还有定界符的格式,使得单引号和双引号与变量一起。
echo <<<HTML
I love my $variable. '"...
HTML;
从php.net摘自:“请注意:当它们出现在单引号字符串特殊字符不像双引号和定界符语法,变量和转义序列不会被扩大。”
因此,答案是不,你不能。但是你可以做这样的:
echo 'I love my' . $variable . '.';
这将是清洁这种方式。
除了其他用户如字符串连接,你可以使用占位符如下提到的解决方案;
注意:%s是字符串。
$variable = 'what ever';
printf('The $variable is %s', $variable);
尝试这个
<php echo 'I love my '. $variable . ' .'; ?>