如何在 PHP 中截断 html 文本并仍然保持格式

发布于 2024-09-07 04:45:42 字数 95 浏览 7 评论 0原文

我的文本中包含最少的标签,如“a”、“b”、“i”等。 现在我想将文本截断为 100 个字符,但仍想保留格式。 我不想从文本中删除标签。

是否可以?怎么办呢。

I have text with minimal tags like 'a','b','i' etc inside it.
Now i want to truncate the text to 100 chars and still want to maintian the formatting.
I don;t want to strip the tags off from the text.

Is it possible? how can it be done.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾夏年华 2024-09-14 04:45:44

我在这里的另一个问题中看到了这个答案,提供的链接是 http://snippets.dzone.com /posts/show/7125
作者:Dennis Pedrie,关于如何将 HTML 截断为特定值字符数?

希望这会有所帮助,它基本上是一个简短的类,可以通过一个非常简单的调用完成您想要的事情,如果您向下滚动,有些人也做了一些改进。

问候
卢克

I saw this answered in another question here, The link provided was http://snippets.dzone.com/posts/show/7125
by Dennis Pedrie on How to truncate HTML to certain number of characters?

Hope this helps, its basically a short class that will do what you want with a very simple call, if you scroll down some people have made a few improvements too.

Regards
Luke

撩人痒 2024-09-14 04:45:44

一个简单的方法是使用 javascript 来完成此操作,但如果您在服务器端获得标签+内容,则可以使用 php 解决方案。您需要做的就是解析标签+内容,以便将标签与内容分开,然后将内容文本截断为 100 个字符。将您仍然拥有的分隔标签添加到变量中即可。

非常简单的例子:

$fulltag_as_string = '<b>This is my text ... blah, blah .. with length more than 100 characters</b>';

$arr = split(">",$fulltag_as_string);
$arr2 = split("<",$fulltag_as_string);
$arr3 = split("<",$arr[1]);

$truncated_text = strlen($arr3[0] > 100) ? substr($arr3[0],0,100) : $arr3[0];

echo $resulting_tag = $arr[0].">".$truncated_text."<".$arr2[2];

An easy way would be to do it using javascript, but a solution using php is possible if you got the tags + contents ont the server side. All you need to do is to parse your tag+content so that you separate the tags from the content and then truncate your content text to 100 characters. Ad the separated tags you still have in a varable and there you go.

Very simple example:

$fulltag_as_string = '<b>This is my text ... blah, blah .. with length more than 100 characters</b>';

$arr = split(">",$fulltag_as_string);
$arr2 = split("<",$fulltag_as_string);
$arr3 = split("<",$arr[1]);

$truncated_text = strlen($arr3[0] > 100) ? substr($arr3[0],0,100) : $arr3[0];

echo $resulting_tag = $arr[0].">".$truncated_text."<".$arr2[2];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文