我正在使用WordPress和WP-O-Matic自动从不同的提要中提取内容。这些内容都是大写的,使得WordPress博客中的帖子看起来很糟糕。我试着使用不同的技术,但似乎没有一种能完美地工作。
以下是我尝试过的一些示例:
如何在php中将句子中的第一个字母大写
如何将句子中第一个单词的第一个字母大写?
我目前正在使用这段代码,但它不能正常工作:
function fwisc_content($content) {
if ( is_single() ) {
global $post;
$string = get_the_content($post->ID);
$sentences = preg_split('/([.?!]+)/', $string, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
$new_string = '';
foreach ($sentences as $key => $sentence) {
$new_string .= ($key & 1) == 0?
ucfirst(strtolower(trim($sentence))) :
$sentence.' ';
}
return trim($new_string);
} else {
return $content;
}
}
add_action( 'the_content', 'fwisc_content' );
问题是,这段代码删除了所有的<p></p>
标签,使整个帖子看起来像一个段落。
以下是我需要做的:
样本输入:
<p>THIS IS THE FIRST SENTENCE. THIS IS THE SECOND SENTENCE! THIS IS THE THIRD SENTENCE.. THIS IS THE FOURTH SENTENCE! IS THIS THE FIFTH SENTENCE?</p>
<p>THIS IS THE FIRST SENTENCE. THIS IS THE SECOND SENTENCE! THIS IS THE THIRD SENTENCE.. THIS IS THE FOURTH SENTENCE! IS THIS THE FIFTH SENTENCE?</p>
预期输出:
<p>This is the first sentence. This is the second sentence! This is the third sentence.. This is the fourth sentence! Is this the fifth sentence?</p>
<p>This is the first sentence. This is the second sentence! This is the third sentence.. This is the fourth sentence! Is this the fifth sentence?</p>
请帮助
尝试以下代码:
<style>
p:first-letter
{
text-transform: uppercase;
}
</style>
<?php
function upperFirstWord($str) {
return preg_replace('/([.!?])'s*('w)/e', "strtoupper('''1 ''2')", ucfirst(strtolower($str)));
}
echo upperFirstWord("<p>THIS IS THE FIRST SENTENCE. THIS IS THE SECOND SENTENCE! THIS IS THE THIRD SENTENCE.. THIS IS THE FOURTH SENTENCE! IS THIS THE FIFTH SENTENCE?</p><p>THIS IS THE FIRST SENTENCE. THIS IS THE SECOND SENTENCE! THIS IS THE THIRD SENTENCE.. THIS IS THE FOURTH SENTENCE! IS THIS THE FIFTH SENTENCE?</p>");
?>
希望这会有所帮助。谢谢:-)