0

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

 <?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但没有效果

4

3 回答 3

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']));

?>
于 2012-12-17T07:49:25.907 回答
1

尝试

echo  preg_replace('/\s+/', ' ', preg_replace('/<[^>]*>/', ' ', $record['content']));
于 2012-12-17T07:12:24.163 回答
0

尝试这个:

编辑:

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

我还没有尝试过。但它应该工作。这是在您不想要样式标签的情况下。

于 2012-12-17T07:24:24.710 回答