相关疑难解决方法(0)

Wordpress标题:如果超过50个字符,显示省略号

我有一个带有标题的wordpress网站,如果标题有超过50个字符,我需要在标题的末尾添加省略号(...)并将标题停止在50个字符.下面是我正在编写的PHP,但它似乎无法正常工作,寻求PHP大师教我正确的方法.任何帮助将不胜感激.

<?php if (strlen("the_title()") > 50) { ?>
                <?php the_title(); ?>
            <?php } if (strlen("the_title()") < 50) { ?>
                <?php echo substr(get_the_title(), 0, 50); ?>...
            <?php } ?>   
Run Code Online (Sandbox Code Playgroud)

php wordpress

20
推荐指数
3
解决办法
4万
查看次数

将多字节字符串截断为n个字符

我试图在字符串过滤器中使用此方法:

public function truncate($string, $chars = 50, $terminator = ' …');
Run Code Online (Sandbox Code Playgroud)

我期待这个

$in  = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ1234567890";
$out = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV …";
Run Code Online (Sandbox Code Playgroud)

还有这个

$in  = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ??????????????????????????????";
$out = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ?????????????????? …";
Run Code Online (Sandbox Code Playgroud)

这是$chars减去$terminator字符串的字符.

此外,滤波器应该在$chars极限以下的第一个字边界切割,例如

$in  = "Answer to the Ultimate Question of Life, the Universe, and Everything.";
$out = "Answer to the Ultimate Question of Life, the …";
Run Code Online (Sandbox Code Playgroud)

我很确定这应该适用于这些步骤

  • 从最大字符中减去终结符中的字符数量
  • 验证该字符串是否长于计算的限制或返回它不变
  • 在字符串下面找到最后一个空格字符,以获得字边界
  • 如果没有找到最后一个空格,则在最后一个空格处剪切字符串
  • 将终结符附加到字符串
  • 返回字符串

但是,我现在尝试了各种组合str*mb_*功能,但都产生了错误的结果.这不是那么困难,所以我显然缺少一些东西.有人会为此分享一个有效的实现,或者指向一个资源,我终于可以理解如何做到这一点.

谢谢

PS是的,我之前已经检查过https://stackoverflow.com/search?q=truncate+string+php :)

php string truncate multibyte

7
推荐指数
2
解决办法
4146
查看次数

标签 统计

php ×2

multibyte ×1

string ×1

truncate ×1

wordpress ×1