使用Wordpress删除内容中粗体的文本

时间:2011-02-03 17:47:01

标签: php wordpress

我使用下面的代码输出一个类别的内容,但内容有粗体标签,这反过来使我的整个出售大胆。删除代码中粗体文本最简单的方法是什么?我将非常感谢任何帮助,因为我正在使用它来学习。

<p><?php $content = get_the_content();  
                if (mb_strlen($content) > 700) {
                $content = mb_substr($content, 0, 700);
                // make sure it ends in a word by chomping at last space
                $content = mb_substr($content, 0, mb_strrpos($content, " ")).'...<br /><span class="landing_latest_articles_read_more"><a href="" title="">Read More</a></span>';
                }
                echo $content; ?></p>

2 个答案:

答案 0 :(得分:1)

strip_tags

或者这可能有效

$string = preg_replace("/<b>|</b>/", "", $string);

这是一个像strip_tags这样的函数,只删除指定的标签(带有属性):

<?php
function strip_only($str, $tags) {
    if(!is_array($tags)) {
        $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
        if(end($tags) == '') array_pop($tags);
    }
    foreach($tags as $tag) $str = preg_replace('#</?'.$tag.'[^>]*>#is', '', $str);
    return $str;
}
?>

所以你会像这样使用它

<p><?php $content = get_the_content();  
                if (mb_strlen($content) > 700) {
                $content = mb_substr($content, 0, 700);
                // make sure it ends in a word by chomping at last space
                $content = mb_substr($content, 0, mb_strrpos($content, " ")).'...<br /><span class="landing_latest_articles_read_more"><a href="" title="">Read More</a></span>';
$content =  strip_only($content, '<b>');   //you want to remove <b> tag            
}
                echo $content; ?></p>

这很有效。 i tried it here

答案 1 :(得分:0)

如果您只想删除粗体标记:

$content = preg_replace('/<[\/]?b>/i', '', $content);
                            ^

虽然你必须确保只有<b>标签才能使事情变粗,而不是字体标签。