我正在处理如下所示的php代码:

   <div class="case-breaking__content">
        <p><?php echo the_title(); ?></p>
   </div>


上面的php代码返回以下内容:

absv shss xcnx shss hshhs shhsw shshs hsnna hssnnss hssns snnss nnshs sjjjjsjsj nsnnnsns jjsnss snsnns nsnns


我想要的是,在特定字数限制后,它应该显示...让我们说8个字后,它应该像这样;

absv shss xcnx shss hshhs shhsw shshs hsnna...


我以以下方式尝试过,但似乎无法正常工作:

<div class="case-breaking__content">
<p><?php $out = strlen(the_title()) > 50 ? substr(the_title(),0,50)."..." : the_title(); ?></p>
</div>

最佳答案

the_title()回显标题而不是返回标题。如果要对其执行操作,则要使用get_the_title()

<div class="case-breaking__content">
<p><?php echo strlen(the_title()) > 50 ? substr(get_the_title(),0,50)."..." : get_the_title(); ?></p>
</div>


话虽这么说,如果您使用的是WordPress,最简单的选择是使用内置函数wp_trim_words() https://codex.wordpress.org/Function_Reference/wp_trim_words

所以你的情况

<div class="case-breaking__content">
<p><?php echo wp_trim_words( get_the_title(), 8, '...') ?></p>
</div>

10-08 02:06