我使用它将文章分成单个句子,这样我就可以在鼠标悬停时突出显示每个句子:
$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;
我的问题是,在每个段落的末尾,有一个双重时期。它看起来像这样:
一句话。句子二。判刑三。
我没有做任何事情从每个段落的末尾删除尾随空格+句号,我无法弄清楚它是如何应用的。
答案 0 :(得分:0)
段落中的最后一句话可能在句号之后没有空格,因此它会被保留,并且您在跨度中添加另一个句子。
尝试通过替换:
来修剪段落中的最后一个句点$p_text = explode('. ', $p);
使用:
$p_text = explode('. ', trim($p, '.'));
答案 1 :(得分:-1)
$highlight_text = trim($highlight_text, ' .');
echo $highlight_text;