我用它将文章拆分为单独的句子,这样我就可以在mouseover上突出显示每个句子:
$a_text = str_replace('<p>', '', $a_text);
$a_text = explode('</p>', $a_text); // Separate into paragraphs
foreach($a_text as $p) {
$p_text = explode('. ', $p); // Only spilt on periods followed by a space to preserve URLs in the article.
$highlight_text .= '<p>';
$i = 1;
foreach($p_text as $text) {
$highlight_text .= '<span class="highlight" alt="'.$i.'">'.$text.'.</span> '; // Wrap each sentence in the highlight class
$i++;
}
$highlight_text .= '</p>';
}
echo $highlight_text;
我的问题是,每一段的末尾都有一个双句号。它看起来像这样:
第一句。第二句。第三句。
我所做的任何事情都不会删除每一段末尾的尾随空格+句点,我也不知道它是如何应用的。
段落中的最后一句话在句点之后可能没有空格,因此它被保留,您将在span中添加另一句。
尝试通过替换来修剪段落中的最后一个句号:
$p_text = explode('. ', $p);
带有:
$p_text = explode('. ', trim($p, '.'));
$highlight_text = trim($highlight_text, ' .');
echo $highlight_text;