gpt4 book ai didi

php - 如何从字符串内的内部标签中删除  

转载 作者:行者123 更新时间:2023-11-29 13:11:49 24 4
gpt4 key购买 nike

我正在输出一个由所见即所得编辑器创建的巨大字符串。以下是编辑器生成的输出示例。我试图阻止   从开头和结尾(每个标签内)创建的所有空格,以便标签紧紧包裹内容。 Rtrim 和 Ltrim 不起作用,因为它们修剪整个字符串,而不是其中的标签。

这是一个字符串示例。

<div>&nbsp; &nbsp; &nbsp; Small&nbsp;amount of text, should be&nbsp;alot.</div>
<div>Small&nbsp;amount of text, should be&nbsp;alot. &nbsp; &nbsp; &nbsp; </div>

这将输出类似于以下内容的内容(div 已保留以显示空格的范围,但会在输出中隐藏。)

<div>   Small amount of text, should be alot.</div>
<div>Small amount of text, should be alot. </div>

我更喜欢这个输出..

<div>Small amount of text, should be alot.</div>
<div>Small amount of text, should be alot.</div>

如何实现这一目标?

最佳答案

将重复的空格和/或   替换为单个  :

preg_replace('/(?:&nbsp;| ){2,}/', '&nbsp;', $string);

如果要将所有   转换为空格,然后折叠空格,则:

preg_replace('/ {2,}/', ' ', str_replace('&nbsp;', ' ', $string));

请注意,这不会删除开始标记之后或结束标记之前的单个空格。对于类似的事情,您将进入一些使用正则表达式的非常令人讨厌的领域,并且您将希望使用 DOM 或 XML 来解析文档。

但是,前导空格和尾随空格在 HTML 中通常无关紧要,因此这应该可以帮助您到达目的地。

关于php - 如何从字符串内的内部标签中删除  ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998524/

24 4 0