我正在开发一个PHP脚本的问题。有时(非常罕见,但它发生)字符串不能正确连接,因为字符串的片段在此过程中丢失,导致随机截断的字符串。
这是一个例子,它是收集订单信息并通过电子邮件发送给客户端的代码的一部分(这就是为什么我被迫使用html表)。
$rowList[$rowCode] .= '<tr><td class="lens-price-serv"><small>' . $lang['services'] . ':</small> <strong>' . money_format( '%i', $srvPriceTotal ) . '</strong></td></tr>';
代码工作得很好。但是今天早上,我收到了一封包含以下html的电子邮件(对应于我发布的PHP代码):
<tr><td class="lens-price-serv"><s>Services: <strong>€ 10,00</strong></s></td></tr>
我无法获得确切的HTML代码,这个代码来自Chrome的开发人员工具。我认为发生的是'小'标签在字符串连接期间被截断,成为一个开放的标签。没有相应的闭包'/ s'标签的这个标签在关闭'td'之前被浏览器自动关闭。
这个问题难以复制。我尝试使用相同的参数创建一个新订单,但它工作得很好。
这是这个问题第二次出现;它第一次出现在代码的另一部分上,但字符串也被截断,导致输出错误。
此问题可能是由服务器引起的吗?该脚本由运行Apache 2.2.24和PHP 5.3.21的共享主机托管。
答案 0 :(得分:0)
尝试使用
$rowList[$rowCode] .= "<tr><td class='lens-price-serv'><small>$lang['services']:</small> <strong>" . money_format( '%i', $srvPriceTotal ) . "</strong></td></tr>";
答案 1 :(得分:0)
您也可以尝试
$rowList[$rowCode] .= "<tr><td class='lens-price-serv'><small>{$lang['services']}:</small> <strong>" . money_format( '%i', $srvPriceTotal ) . "</strong></td></tr>";