
[英]PHP - parse_ini_(string|file) - Why do false and no values get truncated to empty strings?
[英]strings get randomly truncated in PHP
我正在开发的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的开发者工具。 我认为发生的是'small'标签在字符串连接过程中被截断,成为一个开放的's'标签。 该标签没有相应的闭包“ / s”标签,在关闭“ td”之前,浏览器会自动将其关闭。
这个问题很难复制。 我尝试使用相同的参数制作新订单,但效果很好。
这是该问题第二次出现。 第一次是在代码的另一部分,但是字符串也被截断了,导致输出错误。
此问题可能是由服务器引起的吗? 该脚本由运行Apache 2.2.24和PHP 5.3.21的共享主机托管。
尝试使用
$rowList[$rowCode] .= "<tr><td class='lens-price-serv'><small>$lang['services']:</small> <strong>" . money_format( '%i', $srvPriceTotal ) . "</strong></td></tr>";
您也可以尝试
$rowList[$rowCode] .= "<tr><td class='lens-price-serv'><small>{$lang['services']}:</small> <strong>" . money_format( '%i', $srvPriceTotal ) . "</strong></td></tr>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.