【问题标题】:How I can insert a <br> tag every 115 characters如何每 115 个字符插入一个 <br> 标签
【发布时间】:2011-12-30 17:23:05
【问题描述】:

如何每 115 个字符插入一个 &lt;br&gt; 标记?哪种解决方案更好:strlen 还是 regex?

我怎样才能做到这一点?

更好理解,stage6的评论部分是如何制作的。

http://web.archive.org/web/20071120055812/http://stage6.divx.com/user/DorkmanScott

我需要完全格式化的 cmets。

【问题讨论】:

标签: php regex strlen


【解决方案1】:

这真的做不到。因为如果您只是天真地在 HTML 文档中每隔 115 个字符插入一个 &lt;br&gt; 标记,您可能最终会进入另一个标记,这显然不是您想要的。您可以使用 HTML 解析器来解析文档,并且只在存在文本的位置插入 &lt;br&gt; 标记,但是,我认为这可能有点问题,因为您必须考虑您想要的内联元素放置一个&lt;br&gt; 标签。

我猜您的问题与控制网页的宽度有关,您最好使用 CSS 来控制文档的宽度。

【讨论】:

  • 另外,即使你限制了某些标签内的换行,你最终还是会在单词中间换行。 CSS 是必经之路。
【解决方案2】:

尽管 cmets 建议这不是正确的使用方法(即,如果边界元素设置为正确换行,则不需要插入 &lt;br /&gt; 元素),但如果您绝对需要在 PHP 中实现某些目标那么wordrap() 对你来说可能是最安全的功能了:

$wrappedString = wordwrap($string, 115, '<br />');

只有在处理文本而不是原始 HTML 时才应使用此选项,否则可能会遇到 DOM 问题。小心行事。

编辑:如果您打算打断长词以避免它们溢出您的边界框,您可以考虑在较长的词中添加软连字符 (&amp;shy;) 实体。

【讨论】:

  • +1 用于回答问题(当然这是一个可能被误导的问题)
猜你喜欢
  • 2011-01-01
  • 2017-08-24
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
相关资源
最近更新 更多