php - 如何在 CODEIGNITER 中连接具有动态长度的文本?

标签 php codeigniter dynamic concatenation ellipsis

如何连接不同长度的预期文本?

我已经将 $this->load->helper('text'); 放入我的 Controller 中。 ellislab 页面中显示的最接近的示例是:

$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);

根据解释,这将产生: this_string_is_e…ak_my_design.jpg 。

但是,就我而言,我没有要连接的固定字符串。我需要连接的是一个描述元素,其长度可以根据用户输入而变化。

<td class="first" width="200px"><a href="<?= site_url() ?>/provider/view_job/<?= $row['job_id'] ?>"><?= $row['description'] ; ?></a></td>

我应该如何调整行以连接其结果?

感谢您在这里提供的任何可能的帮助。

最佳答案

然后你可以使用PHP函数strlen:https://www.php.net/strlen

strlen — 获取字符串长度

因此,对于您的代码/示例,您可以这样做:

ellipsize($str, strlen($str)/2, .5);

或者根据您的情况:

<?= ellipsize($row['description'], strlen($row['description'])/2, .5); ?>

另外如果你不想使用CodeIgniter的功能,你可以使用PHP的sub_str:https://www.php.net/substr

substr("abcdef", 0, -1);  // returns "abcde"

所以对于你的代码来说,它会是这样的:

 <?= substr($row['description'], 0, strlen($row['description'])/2) . '...'; ?>

关于php - 如何在 CODEIGNITER 中连接具有动态长度的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672400/

相关文章:

php - 如何在 Controller 的 __construct() 函数中没有 die() 的情况下退出 codeigniter?

php - 查找多个插入查询的 auto_increment 值

php - 使用 codeigniter 从 2 个表中获取数据

php - 提交表单后刷新表单页面?

c# - 动态依赖注入(inject)

android - 从 Android 中的单选组中删除动态创建的单选按钮

php - 在 php/mysql 中使用多个数据库

php - SQL 删除与连接

php - mysql从用户表中连续加入2个user_ids

javascript - 在另一个回调中运行 jQuery 函数时出现问题