我需要一些关于PHP的帮助,因为我很难摆脱style type="text/css"
标签。我想要删除style标签并将其替换为空字符串。
当我尝试这样做时:
if (strpos($inbox_message, '<style type="text/css">') !== false) {
echo (preg_replace('/<style[^>]*>(([^<]|[<[^\/]|<\/[^s]|<\/s[^t])*)<\/style>/i','',$inbox_message));
}
它仍然会在HTML页面中显示样式标签。
以下是它所显示的内容:
<style type="text/css"> body {position: relative; font-family: Segoe UI; font-size: 12px; } .pageHeader {color: #9C9C9C; font-size: 160%; padding: 0px 0px 6px 0px} .pageHeaderLogo {padding-right: 15px;} .pageHeaderTitle{border-left: 1px solid #CCCCCC; padding: 5px;} .pageFooter {width: 100%; background-color: #f2f2f2; font-size: 12px; font-family: Segoe UI; padding:4px 4px 4px 4px; } .pageFooterLogo {text-align:right; width:100%} .padCells { padding: 0px 6px 0px 0px; } .preHeader {display: none !important; visibility:hidden; opacity:0; color:transparent; height:0; width:0; }</style>
请问您能否给我展示一个使用preg_replace查找style type=text/css
标签的例子,以便我可以删除它们?
谢谢。
编辑:抱歉,我意识到我只需要删除样式标签中的body部分,因为我想保留样式中的其他标签。
/*GENERAL*/
table{width:100%}
body{background-color:#ebebeb; width: 100%; margin:0; padding:0; -webkit-font-smoothing: antialiased;font-family: "Segoe UI",SegoeUI,"Helvetica Neue",Helvetica,sans serif; -webkit-text-size-adjust: 100%;}
div.ms-article-container #emailbodyouter .emailbodyinner section{margin:0}
div.ms-article-container #emailbodyouter .emailbodyinner table div {margin:0}
div.content-article #emailbodyouter .emailbodyinner section{margin:0}
div.content-article #emailbodyouter .emailbodyinner table div {margin:0}
$inbox_message = str_replace('<style type="text/css"> body {position: relative; font-family: Segoe UI; font-size: 12px; } .pageHeader {color: #9C9C9C; font-size: 160%; padding: 0px 0px 6px 0px} .pageHeaderLogo {padding-right: 15px;} .pageHeaderTitle{border-left: 1px solid #CCCCCC; padding: 5px;} .pageFooter {width: 100%; background-color: #f2f2f2; font-size: 12px; font-family: Segoe UI; padding:4px 4px 4px 4px; } .pageFooterLogo {text-align:right; width:100%} .padCells { padding: 0px 6px 0px 0px; }
。 - chris oojer<style>
匹配到最后一个</style>
,并删除中间的所有内容。 - Nickstyle type=text/css
一起出现的样式标签本身。.preHeader {display: none !important; visibility:hidden; opacity:0; color:transparent; height:0; width:0; }</style>', '', $inbox_message);
- chris oojer