如何从文本中删除样式

时间:2012-12-17 07:05:20

标签: php styles

我必须显示数据库中的内容。使用编辑器添加内容。 我使用下面的代码来显示它

 <?php echo $record['content'];?>

显示如下

description
<style type="text/css">
body { background-color: #fff; padding: 0 20px; color:#000; font: 13px/18px Arial, sans-serif; }
a { color: #360; }
h3 { padding-top: 20px; }
ol { margin:5px 0 15px 16px; padding:0; list-style-type:square; }
#player1_wrapper{
description border:2px solid #B5B5B5;
}
</style>

样式也会显示内容。如何删除它?我只需要仅作为描述的文本内容。我必须删除该样式内容。 我尝试了html_entity_decode但没有效果

3 个答案:

答案 0 :(得分:1)

echo  preg_replace('/\s+/', ' ', preg_replace('/<[^>]*>/', ' ', $record['content']));

答案 1 :(得分:1)

echo(preg_replace('/<style[^>]*>(([^<]|[<[^\/]|<\/[^s]|<\/s[^t])*)<\/style>/i','',$record['content']));

我在手机上,所以代码未经测试......但这就是想法......

编辑现在测试了代码,丢失了')'并在标记后添加了删除换行符/退货:

<?php


echo(preg_replace('/[\n\r ]*<style[^>]*>(([^<]|[<[^\/]|<\/[^s]|<\/s[^t])*)<\/style>[\n\r ]*/i','',$record['content']));

?>

答案 2 :(得分:0)

试试这个:

editted:

$string1=$record['content'];
$pos=strpos($string1,"<");
$string2=substr($string1,0,$pos);

我没试过。但它应该工作。这是为了你不想要样式标签。