首页 \ 问答 \ 自动拆分文本内容到列(Automatically splitting text content into even columns)

自动拆分文本内容到列(Automatically splitting text content into even columns)

找不到任何文档,看看如果任何人已经做到了这一点。 1想象它可能通过JavaScript或PHP。 1 1'll解释what'm试图完成像这样:

就拿1'm使用Twitter的引导4

假设1在HTML内容如下;

<div class="row">
    <div class="col-12">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum posuere porta. Sed vitae dictum odio. Quisque nec rhoncus justo. Sed tempus pharetra convallis. Nunc rhoncus nibh nisi, eget lobortis nisl efficitur eget. Fusce nec tincidunt felis, id tempor arcu. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec quis feugiat diam. Morbi diam nisl, iaculis in elit eget, venenatis consectetur augue.
        <p>Morbi aliquam, nisl pretium rhoncus interdum, tellus arcu lacinia purus, quis facilisis massa erat a sapien. Phasellus mollis accumsan erat vel pharetra. Nulla semper cursus neque, nec pretium quam porta id. Duis pretium non diam sit amet rhoncus. Quisque dictum urna sed magna pretium, eget tincidunt ligula condimentum. Sed id risus vitae lectus condimentum eleifend ut eget nisi. Nunc euismod, arcu et pharetra rhoncus, diam dui lobortis ex, a scelerisque leo ligula porttitor velit. Duis ultricies risus urna, quis interdum tellus lobortis sit amet. Morbi risus nibh, dignissim nec tincidunt id, pellentesque id nunc. Ut ultrices quam at lorem feugiat, eget laoreet sem auctor. In augue dolor, porta eget nulla sed, mattis euismod urna. Nullam vel sapien tellus. Vivamus et arcu at leo aliquam tempus vitae vel leo. Donec imperdiet lectus a diam aliquam, vitae ultricies dui vulputate. Nulla id urna enim. Quisque varius neque vitae egestas hendrerit.
        <p>Duis vitae imperdiet quam. Vestibulum congue finibus velit nec sagittis. Integer vel ex nulla. Nunc in urna dignissim, ullamcorper enim in, lobortis ligula. Vivamus tellus ligula, feugiat at diam ac, luctus vestibulum tortor. Cras congue magna vitae orci posuere volutpat. Duis eu eros rhoncus ligula auctor elementum. Fusce vulputate ante ut luctus fermentum. Sed ultricies, est eu lacinia rutrum, nibh purus dictum arcu, sit amet scelerisque tortor leo vel ligula. Praesent sem leo, volutpat sed erat vitae, consectetur maximus nibh. Ut at facilisis tellus. Sed urna ipsum, congue rhoncus turpis eget, semper commodo libero. Aliquam metus tellus, facilisis ut posuere vel, lacinia id ex.
        <p>Cras quis eros eleifend lorem tempus sodales. Sed semper sagittis aliquam. Integer a bibendum elit. Nunc dignissim vel elit id sodales. Phasellus non lorem dolor. Ut viverra diam sed lacus tincidunt, vel lobortis sapien sodales. Praesent ante mi, iaculis sed erat vel, ultricies eleifend eros. Donec a libero vestibulum, dictum orci quis, scelerisque orci. Maecenas volutpat ex eu ex fermentum interdum.
        <p>Cras ut elit risus. Sed semper mi mauris, vel bibendum augue pharetra efficitur. Vestibulum finibus elit sit amet velit blandit convallis et dignissim nisi. Etiam nec quam odio. Sed eget accumsan ante. Mauris cursus nibh a consectetur ornare. Proin molestie purus sit amet lacinia hendrerit. Sed in elit mauris. Donec pretium sapien libero. Aliquam sed tempus lorem. Cras maximus eu urna vitae ultricies. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque purus lorem, condimentum at eros vitae, sagittis vestibulum elit. Sed placerat sapien urna, eget suscipit massa pharetra in. Nulla efficitur ac ipsum non varius.
        <p>Donec quis consequat leo, in aliquet neque. Integer gravida faucibus diam id eleifend. Aenean at dolor nec ante aliquet consectetur. Nullam ullamcorper neque facilisis, faucibus nisl nec, volutpat elit. Fusce facilisis quis nisl sed lobortis. Suspendisse purus tellus, vulputate a tortor eu, pellentesque bibendum odio. Fusce nisl nisl, maximus non hendrerit non, accumsan eu nunc. Vivamus ex tortor, vulputate et tortor et, pellentesque lobortis orci.</p>
    </div>
</div>

然而,上述1中的含量希望在半自动分割屏幕关闭时,> 768px而显示为如此。

<div class="row">
    <div class="col-md-6">
        <!-- Half the content -->
    </div>
    <div class="col-md-6">
        <!-- Second half of content -->
    </div>
</div>

至于内容;

  • 假设长度是受变化
  • 以段落数如有更改

有迹象表明,必须保持以及一些规则。

  • 内容只能在拆分段落的结尾
  • 斯普利特必须根据段落高地,不是基于段落长度做
  • 列必须尽可能接近相等的高度可能

能不能做到,什么是实现这一目标的最好方法?

至于我个人的偏好,这将是最为理想的,如果1能顺利实现这一目标,第二选择是Photoshop中。


Can't find any documentation to see if anyone's already done this. I imagine it's possible through javascript or PHP. I'll explain what I'm trying to accomplish as so:

Assume I'm using Twitter Bootstrap 4.

Say I have the following content in HTML:

<div class="row">
    <div class="col-12">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum posuere porta. Sed vitae dictum odio. Quisque nec rhoncus justo. Sed tempus pharetra convallis. Nunc rhoncus nibh nisi, eget lobortis nisl efficitur eget. Fusce nec tincidunt felis, id tempor arcu. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec quis feugiat diam. Morbi diam nisl, iaculis in elit eget, venenatis consectetur augue.
        <p>Morbi aliquam, nisl pretium rhoncus interdum, tellus arcu lacinia purus, quis facilisis massa erat a sapien. Phasellus mollis accumsan erat vel pharetra. Nulla semper cursus neque, nec pretium quam porta id. Duis pretium non diam sit amet rhoncus. Quisque dictum urna sed magna pretium, eget tincidunt ligula condimentum. Sed id risus vitae lectus condimentum eleifend ut eget nisi. Nunc euismod, arcu et pharetra rhoncus, diam dui lobortis ex, a scelerisque leo ligula porttitor velit. Duis ultricies risus urna, quis interdum tellus lobortis sit amet. Morbi risus nibh, dignissim nec tincidunt id, pellentesque id nunc. Ut ultrices quam at lorem feugiat, eget laoreet sem auctor. In augue dolor, porta eget nulla sed, mattis euismod urna. Nullam vel sapien tellus. Vivamus et arcu at leo aliquam tempus vitae vel leo. Donec imperdiet lectus a diam aliquam, vitae ultricies dui vulputate. Nulla id urna enim. Quisque varius neque vitae egestas hendrerit.
        <p>Duis vitae imperdiet quam. Vestibulum congue finibus velit nec sagittis. Integer vel ex nulla. Nunc in urna dignissim, ullamcorper enim in, lobortis ligula. Vivamus tellus ligula, feugiat at diam ac, luctus vestibulum tortor. Cras congue magna vitae orci posuere volutpat. Duis eu eros rhoncus ligula auctor elementum. Fusce vulputate ante ut luctus fermentum. Sed ultricies, est eu lacinia rutrum, nibh purus dictum arcu, sit amet scelerisque tortor leo vel ligula. Praesent sem leo, volutpat sed erat vitae, consectetur maximus nibh. Ut at facilisis tellus. Sed urna ipsum, congue rhoncus turpis eget, semper commodo libero. Aliquam metus tellus, facilisis ut posuere vel, lacinia id ex.
        <p>Cras quis eros eleifend lorem tempus sodales. Sed semper sagittis aliquam. Integer a bibendum elit. Nunc dignissim vel elit id sodales. Phasellus non lorem dolor. Ut viverra diam sed lacus tincidunt, vel lobortis sapien sodales. Praesent ante mi, iaculis sed erat vel, ultricies eleifend eros. Donec a libero vestibulum, dictum orci quis, scelerisque orci. Maecenas volutpat ex eu ex fermentum interdum.
        <p>Cras ut elit risus. Sed semper mi mauris, vel bibendum augue pharetra efficitur. Vestibulum finibus elit sit amet velit blandit convallis et dignissim nisi. Etiam nec quam odio. Sed eget accumsan ante. Mauris cursus nibh a consectetur ornare. Proin molestie purus sit amet lacinia hendrerit. Sed in elit mauris. Donec pretium sapien libero. Aliquam sed tempus lorem. Cras maximus eu urna vitae ultricies. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque purus lorem, condimentum at eros vitae, sagittis vestibulum elit. Sed placerat sapien urna, eget suscipit massa pharetra in. Nulla efficitur ac ipsum non varius.
        <p>Donec quis consequat leo, in aliquet neque. Integer gravida faucibus diam id eleifend. Aenean at dolor nec ante aliquet consectetur. Nullam ullamcorper neque facilisis, faucibus nisl nec, volutpat elit. Fusce facilisis quis nisl sed lobortis. Suspendisse purus tellus, vulputate a tortor eu, pellentesque bibendum odio. Fusce nisl nisl, maximus non hendrerit non, accumsan eu nunc. Vivamus ex tortor, vulputate et tortor et, pellentesque lobortis orci.</p>
    </div>
</div>

However, I want to automatically split the content above in half when the screen is >768px and display as so.

<div class="row">
    <div class="col-md-6">
        <!-- Half the content -->
    </div>
    <div class="col-md-6">
        <!-- Second half of content -->
    </div>
</div>

As far as the content:

  • Assume length is subject to change
  • Assume number of paragraphs is subject to change

There are a few rules that must be maintained as well.

  • Content cant only split at the end of paragraphs
  • Split must be done based on paragraph heights, NOT based on paragraph lengths
  • Columns must be as close to equal height as possible

Can it be done, and what's the best approach to achieve it?

Regarding my personal preference, it would be most ideal if I could achieve this with PHP, 2nd choice is jQuery.


原文:https://stackoverflow.com/questions/48953580
更新时间:2024-04-24 22:04

最满意答案

您可以通过为非字符串类型元素定义XML模式来实现此目的。 只需确保它在上下文中可用(通过将其加载到xdmp:schemas-database()),并且它被识别(您的XML需要具有与XML Schema匹配的命名空间,并且您可能想要使用import schema) ..

HTH!


You can do that by defining an XML Schema for the non-string type elements. Just make sure it is available in the context (by loading it into xdmp:schemas-database()), and that it is recognized (your XML needs to have a namespace that matches the XML Schema, and you might wanna use import schema)..

HTH!

相关问答

更多
  • 然后使用json.org中的(优秀的)JSON-Java库 JSONObject json = new JSONObject(str); String xml = XML.toString(json); toString可以接受第二个参数来提供XML根节点的名称。 这个库也能够使用XML.toJSONObject(java.lang.String string)将XML转换为JSON XML.toJSONObject(java.lang.String string) 检查Javadoc 链接到github ...
  • 从我可以告诉的是,没有标准的功能模块或方法调用会自动将XML转换为JSON。 如果您只有一个文件,那么在线有几个转换器。 如果你必须用ABAP解决这个问题,那么你将不得不在网上制作自己的解决方案或破解一些示例程序。 如果您选择自己编写程序,请考虑在STRANS事务中创建转换以将XML数据转换为JSON-XML数据,并使用JSON编写器将其写入JSON。 这个答案大多是霍斯特凯勒关于此事的一个解释。 他发布了一个示例程序,但您的里程可能会有所不同。 From what I can tell, there's ...
  • 你可以这样做: result.metadata.['{http://iptc.org/std/NITF/2006-10-18/}title'] 括号表示法用于访问名称不是有效JavaScript标识符的属性,从而阻止您使用点表示法。 You can do this: result.metadata.['{http://iptc.org/std/NITF/2006-10-18/}title'] The bracket notation is used to access properties whose ...
  • 我对CouchBase对其功能发表评论不够熟悉。 MarkLogic允许通过REST PATCH请求使用XPath或JSONPath进行简单的转换。 我不会称之为“像xslt”,但它绝对是更新JSON文档特定部分的一种方式。 此外,MarkLogic允许使用JavaScript编写服务器端转换,如果这更符合您的风格。 MarkLogic的REST API,Java API和Node.JS API的用户可以使用转换和补丁。 I'm not familiar enough with CouchBase to c ...
  • 您需要将重复元素标记为初学者的数组元素。 这似乎工作: xquery version "1.0-ml"; import module namespace json = "http://marklogic.com/xdmp/json" at "/MarkLogic/json/json.xqy"; let $xml :=
  • 您可以通过为非字符串类型元素定义XML模式来实现此目的。 只需确保它在上下文中可用(通过将其加载到xdmp:schemas-database()),并且它被识别(您的XML需要具有与XML Schema匹配的命名空间,并且您可能想要使用import schema) .. HTH! You can do that by defining an XML Schema for the non-string type elements. Just make sure it is available in the c ...
  • 元数据是有关资源服务扩展的可选信息,您可以查找可用的扩展。 文档就是这样说的: “如果扩展服务需要参数,您可以选择在安装扩展时使用请求参数'声明'参数。此信息是可以通过GET请求返回到/ config / resources的元数据。它不用于检查参数请求延期。“ http://docs.marklogic.com/guide/rest-dev/extensions#id_59112 “MarkLogic Server以XML或JSON格式返回已安装扩展的摘要....有关给定扩展的可用信息量取决于安装扩展时提 ...
  • 是的,您可以通过JavaScript搜索和操作XML内容,尽管通常JavaScript本地处理JSON更好,XQuery本地处理XML更好。 我的意思是语言是围绕这些数据格式设计的,而不是在一个或另一个中你不能做的任何事情。 您不需要将XML转换为JSON(除非您真的想要)。 搜索结果将是文档节点,您可以使用DOM API或在节点上运行的任何内置函数来处理结果。 Yes, you can search and manipulate XML content via JavaScript, although i ...
  • JSON是一种数据传输格式,你可能最好不要这样想。 我倾向于在表示层(可能是JSP或JavaScript)中从JSON转换为HTML,并让Java层和MarkLogic之间的通信保持在JSON中。 如果您要使用Java(包括JSP)构建HTML,那么您可以使用Jackson从JSON切换到Java对象,然后使用这些来构建演示文稿。 如果您要在JavaScript中执行此操作,则无需进行转换,因为JavaScript非常适合使用JSON。 在这种情况下,您的具体操作方式取决于您使用的JavaScript框架或 ...

相关文章

更多

最新问答

更多
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • Java中的不可变类(Immutable class in Java)
  • 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
  • linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
  • Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
  • 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
  • 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
  • Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
  • EXCEL VBA 基础教程下载
  • RoR - 邮件中的动态主体(部分)(RoR - Dynamic body (part) in mailer)
  • 无法在Google Script中返回2D数组?(Can not return 2D Array in Google Script?)
  • JAVA环境变量的设置和对path , classpth ,java_home设置作用和目的?
  • mysql 关于分组查询、时间条件查询
  • 如何使用PowerShell匹配运算符(How to use the PowerShell match operator)
  • Effective C ++,第三版:重载const函数(Effective C++, Third edition: Overloading const function)
  • 如何用DELPHI动态建立MYSQL的数据库和表? 请示出源代码。谢谢!
  • 带有简单redis应用程序的Node.js抛出“未处理的错误”(Node.js with simple redis application throwing 'unhandled error')
  • 使用前端框架带来哪些好处,相对于使用jquery
  • Ruby将字符串($ 100.99)转换为float或BigDecimal(Ruby convert string ($100.99) to float or BigDecimal)
  • 高考完可以去做些什么?注意什么?
  • 如何声明放在main之后的类模板?(How do I declare a class template that is placed after the main?)
  • 如何使用XSLT基于兄弟姐妹对元素进行分组(How to group elements based on their siblings using XSLT)
  • 在wordpress中的所有页面的标志(Logo in all pages in wordpress)
  • R:使用rollapply对列组进行求和的问题(R: Problems using rollapply to sum groups of columns)
  • Allauth不会保存其他字段(Allauth will not save additional fields)
  • python中使用sys模块中sys.exit()好像不能退出?
  • 将Int拆分为3个字节并返回C语言(Splitting an Int to 3 bytes and back in C)
  • 在SD / MMC中启用DDR会导致问题吗?(Enabling DDR in SD/MMC causes problems? CMD 11 gives a response but the voltage switch wont complete)
  • sed没有按预期工作,从字符串中间删除特殊字符(sed not working as expected, removing special character from middle of string)
  • 如何将字符串转换为Elixir中的函数(how to convert a string to a function in Elixir)