【发布时间】:2014-09-04 10:24:33
【问题描述】:
我正在使用 Wordpress,并且正在输出帖子的 the_content(带有 HTML 格式)。我正在使用 substr 将其修剪为 500 个字符。
我想确保内容不会在单词中间被截断,所以我调整了它以使用 strpos 查找单词的结尾,这是此部分的代码,可以正常工作。
$post_content = get_the_content_with_formatting();
$post_trimmed = substr($post_content, 0, strpos($post_content, ' ', 500));
print $post_trimmed . '...';
问题是strpos 有时会在一个单词后截断,并破坏 HTML。例如,这是我得到的一些 HTML:
<p>
Marketing Assistant<br>
Marketing Executive<br>
<br... <="" p=""></br...></p>
我正试图准确解读发生了什么,但我认为我基本上需要使 strpos 不仅在单词的末尾修剪,而且在 HTML 标签的末尾,例如> 和 以确保它不会破坏 HTML。
你会怎么做呢?
【问题讨论】:
-
因此,如果我有 2k 字文本并将其包装在
<p>标记中,那么您将无法修剪我的任何文本,因为首先<p>会破坏 HTML 的其余部分或使您的 HTML 无效.为什么允许在可修剪的文本中使用 html? -
我认为这没问题,因为这是使用 Wordpress,它总是在使用换行符时在内容中添加
,但我明白你的意思,并且更喜欢更健壮的东西。我在可修剪的文本中使用 HTML,因为我需要设计的格式,但还需要能够设置字符数。
标签: php wordpress substr strpos