使用 PHP 或 javascript 在
中每 2500 个字符换行一次文本以进行分页

2023-12-12

我有一个很长的文本块。我想将这段文本的每 2500 个字符包装成一个<div>这样我就可以对其进行分页。

以下不起作用:

//replace 2500 for 5 for purpose of this example
$text="sfdkjas;fakska;ldjk";
$text=wordwrap($text, 5, '<div class="individualPage">');

output:

sfdkj<div class="individualPage">as;fa<div class="individualPage">kska;l<div
class="individualPage">djk

显然我需要结束</div>标签来完成这项工作。

有人对此有 PHP 或 Javascript/jQuery 的建议吗?


只需添加</div> then?

$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 的情况下提供向后兼容性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 或 javascript 在
中每 2500 个字符换行一次文本以进行分页 的相关文章

随机推荐

  • 有没有更好的方法来设置 JPanel 图形的初始位置?)

    在梁的第15章中Java 编程简介 第七版 他介绍了一个程序 可以在 JPanel 上制作一个 2 D 球 并通过单击放大 缩小按钮来放大它 我修改了程序 以便它还可以 1 在用户单击 选项 单击时放大 缩小球 2 允许您通过按下按钮来选择
  • 矩阵求逆的最快方法

    我想用反函数和很多函数处理图像 为了让代码快速运行 有谁能在 3 种反转方法中建议一种快速方法吗 double cvInvert const CvArr src CvArr dst int method CV LU CV LU 高斯消除并选
  • 如何将天数添加到字符串数据类型的 jtextfield 中给出的日期

    再会 我只是想问一下在给定日期中添加天数 我有一个 jtexfield txtStart 和另一个 jtexfield txtExpiry 我需要在 txtExpiry 中显示距 txtStart 中的日期 102 天后的日期 我正在使用
  • 如何在函数定义和函数调用中使用可变宏参数?

    我正在尝试使用宏根据宏的参数定义几个类似的函数 然而 结果函数需要采用的参数的数量和类型在所有函数中并不相同 但我还需要将函数的所有参数传递到函数体内的另一个可变参数函数中 我想要完成的事情的一个最小例子 define COMMAND CO
  • Checkstyle规则限制根包之间的交互(使用ImportControl?)

    如何创建 Checkstyle 规则来限制不同根包之间的交互 我有以下3个根包 models views controllers They are not就像是com mycompany myproject models 他们是根包 我想禁
  • 如何使用循环获取dir()中的值?

    为什么我无法使用循环获取 dir 中项目的值 for item in dir print item 它只是打印 builtins doc loader name package spec 那么 我如何使用循环来打印 item 中的值 即 m
  • Scala 中的 N 皇后

    def queens n Int List List Int Int def placeQueens k Int List List Int Int if k 0 List List else for queens lt placeQuee
  • 仅包含“div”的表格碎片

    当尝试抓取网页时 该表没有 tr 标签 并且是全部 div tags 我试图抓取的站点检查器如下所示 检查员截图 我希望能够从table row类 但刮擦永远不会返回任何东西 使用下面的代码 当我抓取 table header 要不就 pr
  • 列表与字典(最大大小、元素数量)

    我试图确定列表和字典的最大大小 以 RAM 为单位 我也很好奇每个元素 条目可以容纳的最大数量 以及每个条目的内存占用量 我的理由很简单 我和大多数程序员一样 有点懒 这是一种美德 当我编写程序时 我喜欢只编写一次 并尽可能使其面向未来 我
  • 将 8 字节数组转换为 Double

    谈论 Visual Basic 6 我能够找到如何将 Double 转换为 8 字节数组 但反之则不然 在我开始尝试编码之前 是否有一些例程可以执行此操作 例如链接问题中描述的 CopyMemory 在这种情况下可以使用 CopyMemor
  • 查找所有 k 大小的子集,其总和为 n 大小的重复未排序正整数袋

    请注意 这是必需的C NET 2 0项目 不允许使用 Linq 我知道这里已经提出了非常类似的问题 并且我已经生成了一些工作代码 见下文 但仍然希望获得有关如何在给定 k 和 s 条件下使算法更快的建议 这是我到目前为止所学到的 动态规划是
  • Puppeteer 未拾取对话框

    我正在尝试测试 Puppeteer 中的警报框 msg await page goto http localhost 8080 waitUntil networkidle2 await page eval value el gt el va
  • 将新数据插入表中

    我希望对以下问题有所帮助 请注意 此代码从我选择的日期生成一个系数 在本例中为 03 07 dmda 它给出的系数等于 15 55 在这种情况下 我想生成一个新表 其中有一列包含日期 另一列包含与这些日期对应的系数 对于列日期 只有以下日期
  • 使用 selenium python 从隐藏元素中获取文本

    我在 python 中使用 selenium 从网站上抓取信息 但是我遇到了一个问题 当我单击网站从表中获取更多行后 出现的行有一个hidden xs hidden sm我似乎无法找到获取这些元素的方法 我的代码如下 你有什么办法可以帮助我
  • PendingIntent.FLAG_IMMUTABLE 可以替换 PendingIntent.FLAG_UPDATE_CURRENT 吗?

    我正在处理PendingIntent with notification 在我的项目中 我一直在使用PendingIntent FLAG UPDATE CURRENT在一些代码中 它的定义如下 Flag表示如果所描述的PendingInte
  • 使用 BASH 更新通过引用传递的数组

    我想编写一个函数 它采用数组变量名并更新内容 例如 ARRAY1 test 1 test 2 test 3 toUpper ARRAY1 for arg in ARRAY1 do echo arg arg done output arg T
  • 为什么 setTimeout 中的回调即使在严格模式下也会有 this == Window ?

    我现在正在学习 JS 不明白为什么 use strict 指令不适用于 setTimeout 的回调 据我所知 对于 use strict 它应该是未定义的 但始终具有全局对象 function f use strict console l
  • Android、Logcat 和 BufferedReader - 无日志

    我正在制作一个应用程序 它必须在日志中显示我在设备上启动的应用程序 我用logcat ActivityManager I S它在某些设备和模拟器上做得很好 但在某些设备上它有奇怪的行为 我在日志中看到的所有内容都是重复的 02 18 16
  • 在 Eclipse 中克隆后立即取消暂存更改

    我正在使用 Atlassian Stash 和 Eclipse Kepler 的 Git 插件 并且我正在尝试克隆存储库 一旦我完成它 我立即就会得到 N 个未分阶段的更改 其中 N 每次我尝试时都会有所不同 当我尝试比较两个明显不同的文件
  • 使用 PHP 或 javascript 在

    我有一个很长的文本块 我想将这段文本的每 2500 个字符包装成一个 div 这样我就可以对其进行分页 以下不起作用 replace 2500 for 5 for purpose of this example text sfdkjas f