我使用下面的代码输出一个类别的内容,但内容有粗体标签,这反过来使我的整个出售大胆。删除代码中粗体文本最简单的方法是什么?我将非常感谢任何帮助,因为我正在使用它来学习。
<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>
答案 0 :(得分:1)
或者这可能有效
$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>
标签才能使事情变粗,而不是字体标签。