PHP strip 标签的问题
我正在尝试让我的网站提要正常工作。
我需要选择一些内容并显示在我的提要中。选择后,我剥离标签然后显示。
问题是这样的:
数据仍然显示,就好像标签仍然存在(但没有可见的 html 标签),例如。剥离后,在我的源代码中会有:
你好(只是说明)
----之间会有间隙,就好像 html 字符仍然存在一样,但当我查看源代码时看不到任何字符-----
嗨,
我该如何修复这 。谢谢
编辑:
为了更清楚,剥离后我仍然得到这样的文本:
这是我的第一行
这是我的第二行,第一行和第二行之间有一个间隙,好像有一个段落标签
UPDATE
我正在使用这个:
$body=substr(strip_tags(preg_replace('/\n{2,}/',"\n",$row["post_content"])), 0,150);
当我回显 $body 时,它仍然保持新行
I am trying to get my site feed working.
I need to select some content and display in my feed. After selecting, i strip tags then display.
The problem is this:
The data still displays as if the tags still exist (but no visible html tag) eg. after stripping, in my source ill have:
Hello (just illustrating)
----There will be gap in between as if html character still exist, but cant see any when i view my source-----
Hi
How can i fix this . Thanks
EDIT:
To make it clearer, after stripping i still get text like this:
This is my first line
This is my second line with a gap in between the first line and second line as if there is a paragraph tag
UPDATE
i am using this:
$body=substr(strip_tags(preg_replace('/\n{2,}/',"\n",$row["post_content"])),0,150);
when i echo $body, it still maintains new lines
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能有一个
\n
,它位于您删除的结束标记之后的段落末尾。将删除所有
空白
、制表符
、新行
和双空格
并替换为单空格。\s
匹配任何空白字符。相当于 Unicode 字符类别[\f\n\r\t\v\x85\p{Z}]
。如果使用 ECMAScript 选项指定了符合 ECMAScript 的行为,则\s
等效于[ \f\n\r\t\v]
。you may have a
\n
which was at the end of the paragraphs after the closing tags you stripped.will strip out all
white space
,tabs
,new lines
anddouble spaces
and replace with single space.\s
Matches any white-space character. Equivalent to the Unicode character categories[\f\n\r\t\v\x85\p{Z}]
. If ECMAScript-compliant behavior is specified with the ECMAScript option,\s
is equivalent to[ \f\n\r\t\v]
.strip_tags 会逐字删除标签,留下任何其他空白。
您可以使用正则表达式删除多余的换行符和空格,但根据您的内容,您可能会破坏它。
删除换行符:
删除多余的空格:
strip_tags will literally strip the tags, leaving any other whitespace behind.
You could get rid of extra newlines and whitespace with regular expressions, but depending on your content, you might mangle it.
Remove newlines:
Remove extra spaces:
我经历过一些非常令人恼火的相似经历。通过修剪解决
I was experiencing some very annoyingly similar. Solved with trim