WordPressで投稿本文に文字数制限をかける


<div class="new_container">
<a class="new_title" href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a><br />
<?php //the_content(); ?>
<?php //the_excerpt(); ?>
<?php //echo mb_substr(strip_tags($the_content),0,100).'...'; ?>
<?php //echo(nl2br(mb_substr($post->post_content, 0, 200)) . "…<br />" . PHP_EOL); ?>
<?php //echo((mb_substr($post->post_content, 0, 84)) . "<a class='more_read' href=''>続きを見る</a>" . PHP_EOL); ?>
<?php echo((mb_substr($post->post_content, 0, 84)) . PHP_EOL); ?>
<a class="more_read" href="<?php the_permalink(); ?>">続きを見る</a>
</div>

↑これじゃあ、ちょいと不足があったので、これを修正。
ソースがながくなってしまった。
・3行表示(¥nカウント)
・文字列がHTMLタグ「<」を開きっぱなしで、文字列を切られた場合のために、閉じタグ「>」追加。

<?php
	$str = mb_substr($post->post_content, 0, 84,"utf-8");
	$count = substr_count($str, "\n");
	if($count >= 3){

		list($str1, $str2, $str3, $extra) = split("\n", $str, 4);
		$str = $str1."\n".$str2."\n".$str3."\n";

	}

	$pos = strrpos($str, "<");
	if ($pos === false) {
	    // 見つからない
			$str_disp = $str;
	}else{

		$pos2 = strrpos($str, '>', $pos);
		if ($pos2 === false) {
		    // 見つからない
				$str_disp = $str."/>";
		}else{
				$str_disp = $str;
		}	
	}	
	echo($str_disp . PHP_EOL);

//	echo((mb_substr($post->post_content, 0, 84,"utf-8")) . PHP_EOL);

	$count = substr_count($post->post_content, "\n");
	if( mb_strlen($post->post_content) > 84 || $count >= 3 ){
?>
				<a class="more_read" href="<?php the_permalink(); ?>">続きを見る</a>
<?php
	}
//echo $str
//echo $pos;
?>