簡體   English   中英

將段落中的首字母大寫

[英]Capitalize the first letter of sentences in paragraphs

我正在使用WordPress和WP-O-Matic自動從不同的提要中提取內容。 內容全部大寫,使WordPress博客中的帖子顯得app腳。 我嘗試使用不同的技術,但是它們似乎都無法正常工作。

這是我嘗試過的一些示例:
如何在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>");
?>

希望這會有所幫助。 謝謝 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM