我试图让我的 Joomla 网站显示模块中显示的文章中的特定数量的文本。我正在使用以下 PHP:
<span class="rightintrotext" itemprop="introtext">
<?php
$length = 400;
if ( mb_strlen($item->introtext ) > $length ) :
echo ( mb_substr($item->introtext, 0, $length)) . " ... ";
?>
<?php
else :
echo $item->introtext;
?>
<?php
endif;
?>
</span>
我假设会显示文章文本的前 400 个字符,但它只显示大约 253 个字符。我基本上没有 PHP 经验。我最初使用的是 strlen,但在网上看到 mb_strlen 可以解决我的问题,但两者之间似乎没有什么不同;两者都显示错误的字符数(彼此相同)。
编辑:如果我包含包含<p>
标签及其样式(由 Joomla 自动生成),则如下:
<p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; color: #000000; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean pharetra, leo suscipit feugiat faucibus, risus erat placerat lacus, a volutpat tellus libero a tortor. In sapien nisi, luctus sed nibh volutpat, egestas ullamcorper purus. Mauris egestas id
这是 402 个字符,所以我认为这就是问题所在。
我想我可以只做我想要的字符计数+ html标签计数(不应该改变)。想法?