相关疑难解决方法(0)

截断包含HTML的文本,忽略标记

我想截断一些文本(从数据库或文本文件加载),但它包含HTML,因此包含标记,将返回更少的文本.这可能导致标签未被关闭或部分关闭(因此整洁可能无法正常工作且内容仍然较少).如何根据文本进行截断(当你到达表时可能会停止,因为这可能会导致更复杂的问题).

substr("Hello, my <strong>name</strong> is <em>Sam</em>. I&acute;m a web developer.",0,26)."..."
Run Code Online (Sandbox Code Playgroud)

会导致:

Hello, my <strong>name</st...
Run Code Online (Sandbox Code Playgroud)

我想要的是:

Hello, my <strong>name</strong> is <em>Sam</em>. I&acute;m...
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

虽然我的问题是如何在PHP中完成它,但是知道如何在C#中执行它会很好...或者应该没问题,因为我认为我可以将方法移植过来(除非它是内置的方法).

另请注意,我已经包含了一个HTML实体&acute;- 必须将其视为单个字符(而不是本示例中的7个字符).

strip_tags 是一个后备,但我会失去格式和链接,它仍然会有HTML实体的问题.

html php string markup

36
推荐指数
2
解决办法
3万
查看次数

在PHP中编码HTML实体但忽略HTML标记

我有一个字符串可能看起来像这样

$str = "<p>Me & Mrs Jones <br /> live in <strong style="color:#FFF;">España</strong></p>";
htmlentities($str,ENT_COMPAT,'UTF-8',false);
Run Code Online (Sandbox Code Playgroud)

如何在不转换HTML标记的情况下将文本转换为HTML实体?

注意:我需要保持HTML完好无损

html php html-entities

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

html ×2

php ×2

html-entities ×1

markup ×1

string ×1