首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PHP从文本中删除内联CSS和类

使用PHP从文本中删除内联CSS和类
EN

Stack Overflow用户
提问于 2011-01-31 14:39:29
回答 1查看 1.2K关注 0票数 0

我在下面的表单中有一个文本:

aaaa a:link {文本装饰:无;字体家族:宋体,宋体,黑白,无衬线;color:#ffffff;} a:hover {文本装饰:下划线;}.intro{字体大小:11px;字体粗细:粗体;行高度:18px;颜色:#ffffff;填充左侧:25px;字体家族:宋体,宋体,黑体,无衬线;} ddddd eeeeee

我想删除所有的css与类。输出应为:

aaaa bbbbb cccccc ddddd eeeeee

aynone能给我看一个preg_match的例子吗?我找到了一个例子来删除所有之间的胸罩{},但我需要的是,所有与css是删除。

谢谢你,尼克

EN

回答 1

Stack Overflow用户

发布于 2011-01-31 18:13:39

从该字符串中删除非CSS部分的麻烦在于,很难确定哪些部分是CSS,哪些不是。

您说您希望使用aaaa bbbbb cccccc ddddd eeeeee,但实际上,根据原始字符串,aaaa bbbbb cccccc应该是CSS选择器的有效部分。他们会选择名为<aaaa><bbbbb><cccccc>的元素。

诚然,这些不是有效的HTML元素,但CSS可用于将样式应用于任意XML和HTML,因此它们很容易成为有效元素。如果您使用的是xhtml,它们可以非常合法地出现在您的页面中的自定义名称空间下。

但情况会变得更糟。我假设文本实际上不是aaaa bbbbb cccccc,而是一个任意的单词字符串。在这种情况下,考虑它可能是像‘我很强’这样的句子。在这种情况下,strong将是您想要删除的字符串的一部分,但是<strong>也是一个有效的HTML元素(就这一点而言,<I>也是有效的),所以即使您只是坚持使用它,也不可能在上面的字符串中区分它是用作CSS选择器还是要保留的文本字符串的一部分。您根本不可能编写一个在所有情况下都完全可靠的正则表达式。

正如您所说,您可以相当容易地删除{}大括号内的所有内容,但大括号外的选择器将很难可靠地与周围的文本分开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4848259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档