を追加するだけ</div>
ですか?
$text = '<div class="individualPage">'
. wordwrap($text, 5, '</div><div class="individualPage">')
. '</div>';
ただし、javascript を使用するとさらに効果的です。視聴者の画面サイズに応じてページネーションを行うことができます。
HTML を次のように設定するだけです。
<div id="target">...</div>
ページの css を追加します。
#target {
white-space: pre-wrap; /* respect line breaks */
}
.individualPage {
border: 1px solid black;
padding: 5px;
}
そして、次のコードを使用します。
var contentBox = $('#target');
//get the text as an array of word-like things
var words = contentBox.text().split(' ');
function paginate() {
//create a div to build the pages in
var newPage = $('<div class="individualPage" />');
contentBox.empty().append(newPage);
//start off with no page text
var pageText = null;
for(var i = 0; i < words.length; i++) {
//add the next word to the pageText
var betterPageText = pageText ? pageText + ' ' + words[i]
: words[i];
newPage.text(betterPageText);
//Check if the page is too long
if(newPage.height() > $(window).height()) {
//revert the text
newPage.text(pageText);
//and insert a copy of the page at the start of the document
newPage.clone().insertBefore(newPage);
//start a new page
pageText = null;
} else {
//this longer text still fits
pageText = betterPageText;
}
}
}
$(window).resize(paginate).resize();
これは PHP ソリューションと連携して機能し、javascript が無効になっている場合に下位互換性を提供します。