我尝试使用PHP substr()
函数将数组中的字符串剪切到指定的长度,但我的问题是,在某些情况下,该数组只包含没有单个字符串内容的图像。
我的代码:
<div class="ct f-light">
<?php
$num_char = 255;
$text = $in['content'];
echo substr($text, 0, $num_char) . '...';
?>
</div>
$in['content']
是一个HTML。它是从CKEditor处理的,它包含文本和图像。
如果数组只包含字符串,则结果如下:
如果它只包含图像,则结果如下:
我该如何解决这个问题?
答案 0 :(得分:0)
[&#39;内容&#39;]中的$是什么样的?它是在HTML?或者你是如何混合图像和文字的?
如果你有,我建议将它们分开。 (进入不同的变量)这将是最干净的选择。或者,您也可以搜索第一个图像标记,然后仅使用之前的文本,如下所示:
$num_char = 255;
$text = explode('<img', $in['content'], 2)[0];
echo substr($text, 0, $num_char) . '...';
然后您可能还想检查空字符串。
如果您不使用html,请说明您正在使用的内容。
(另外,如果您没有注意到,像<p>
这样的标签会计入255个字符的限制,因此很可能会少于255个字符可见。这也可能导致错误(不完整)html。)