我想在这个php字符串中集成一个图像。我做错了什么?
$answer .= '<p> '.<img src='"/assets/img/back.png'" alt='"back" />.' '.PMF_String::substr($outstr, 0, -2).' </p>';
Thanks in advance
你对' and '有一些问题。以下是正确的方法:
$answer .= '<p> <img src="/assets/img/back.png" alt="back" />' . PMF_String::substr($outstr, 0, -2) . ' </p>';
不需要转义" just try this:
$answer .= '<p><img src="assets/img/back.png" alt="back" /> '.PMF_String::substr($outstr, 0, -2).' </p>';
PS:你只需要转义"如果字符串被他们放弃,例如:
$foo = "<input id='"myid'" value='"myvalue'" />";
如果没有,则字符串被'
锁住。$foo = '<input id="myid" value="myvalue" />';
@Maxi说,这只是引号的错误。
但是请注意,"
和'
不是设计用来用嵌套引号构建字符串的。它们通常用于此,但它们还有另一个区别,如下所述:http://www.virendrachandak.com/techtalk/php-double-quotes-vs-single-quotes/
将计算""
包围的字符串,而''
包围的字符串不计算。所以有一个微小的性能差异。知道了这个区别,你应该"宁可"转义单码和/或双码,而不是仅仅以嵌套的方式使用它们。
试试这个:
$answer .= '<p> <img src='"/assets/img/back.png'" alt='"back'" /> '.PMF_String::substr($outstr, 0, -2).' </p>';
因为我的英语不好,我不能给你一个完整的代码解释。对不起:)
$answer .= '<p> '.<img src="/assets/img/back.png" alt="back" />.
'.PMF_String::substr($outstr, 0, -2).' </p>'
不必转义字符串。使用替代引号:
$answer .= '<p><img src="/assets/img/back.png" alt="back" />'.PMF_String::substr($outstr, 0, -2).'</p>';