我怎样才能使用substr函数从包含图像的数组中获取字符串

时间:2017-09-23 17:12:37

标签: php

我尝试使用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处理的,它包含文本和图像。

如果数组只包含字符串,则结果如下:

enter image description here

如果它只包含图像,则结果如下:

enter image description here

我该如何解决这个问题?

1 个答案:

答案 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。)