Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 分页:如何将长文本显示为书页?_Php_Jquery_Html_Css_Pagination - Fatal编程技术网

Php 分页:如何将长文本显示为书页?

Php 分页:如何将长文本显示为书页?,php,jquery,html,css,pagination,Php,Jquery,Html,Css,Pagination,我有一个很长的文本,我想把它作为一本书显示在网页上。用户将使用箭头键向前和向后移动,就像翻页一样 撇开页面的转换不谈,如何使用jQuery实现这一点 我的想法是计算一页上会占用空间的文本量,然后将整个文本分成这样的页面,然后显示它们。但这似乎不是一个好主意,因为占用的空间将取决于平台,即使我们修复字体 我在使用空间计算方法时面临的另一个问题是,文本的css显示是合理的 以前有人为网页做过这样的事情吗?以漂亮的书页格式布局一个长字符串。您需要获得确切的字符串部分。你可以使用这个功能 functio

我有一个很长的文本,我想把它作为一本书显示在网页上。用户将使用箭头键向前和向后移动,就像翻页一样

撇开页面的转换不谈,如何使用jQuery实现这一点

我的想法是计算一页上会占用空间的文本量,然后将整个文本分成这样的页面,然后显示它们。但这似乎不是一个好主意,因为占用的空间将取决于平台,即使我们修复字体

我在使用空间计算方法时面临的另一个问题是,文本的css显示是合理的


以前有人为网页做过这样的事情吗?

以漂亮的书页格式布局一个长字符串。您需要获得确切的字符串部分。你可以使用这个功能

function get_page($text, $page_index, $line_length=76, $page_length=40){
    $lines = explode("\n", wordwrap($texxt, $line_length, "\n"));
    $page_lines = array_slice($lines, $page_index*$page_length, $page_length);
    return implode("\n", $page_lines);
}

$line_length = 70;
$lines_per_page=50;
$page = 3;
$longtext= "...";

$page_text = get_page($longtext, $page-1, $line_length, $page_length);
请参阅。

例子 PHP

$longtext = "..."; // it can be retrieved from sql as well.
$index=is_int($_GET['page'])? intval($_GET['page']): 1;
$line_length = 70;
$lines_per_page=50;
$longtext= "...";

$page_text = get_page($longtext, $index-1, $line_length, $page_length);
echo json_encode(array('text'=>$page_text));
JQuery

var nextPage=2;
$.get("getpage.php", { page: nextPage }, function(data){
   alert("text is "+data.text;
   // show the text data.text
});

长文本是在数据库还是文件中?它的mysql。。。存储为文本数据类型…如果您的文本尚未格式化/标记,则很难做到这一点并使其看起来良好。如果已格式化/标记,则可以使用PHP字符串函数在句子或段落处分隔文本。然后一个流畅的布局应该提供大部分的结构。它是一个没有html标记的纯文本…它不会解决问题。。。不能保证一个词不会被切成两半。。。还有,文本中的换行符呢?他更可能希望使用
explode()
来提供一组句子或段落。@sri\u wb有一些函数来处理它。使用。