我想在预览模式下显示它们之前删除所有标签(只是一些文字)。
我有这段代码:
$text = strip_tags($item['content']);
echo substr($text,0,13);
这是我的$item['content']
就是这样的
<div class="note note-success">
<p>
Font Awesome gives you scalable
vector icons that can instantly be customized — size, color, drop
shadow, and anything that can be done with the power of CSS. The
complete set of 439 icons in Font Awesome 4.1.0
</p>
For more info check out: <a target="_blank" href="http://fortawesome.github.io/Font-Awesome/icons/">http://fortawesome.github.io/Font-Awesome/icons/</a>
</div>
问题在于,当我使用substr
时,它没有显示任何内容,但是当我使用普通echo
时,它会显示之前被剥离的变量的内容。
strip_tags
是否不提供字符串输出?
答案 0 :(得分:2)
在输出子字符串之前尝试删除空格:
(使用$new = str_replace(' ','',$text);
trim
代替 @ mario.klump 表示)
$text = strip_tags($item['content']);
$new = trim($text);
echo substr($new,0,13);
答案 1 :(得分:1)
strip_tags()函数仅在跟随html文本类型时有效。你正在做的是转换html编码的文本,因此,它不会被解析。
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
对于您的示例,您可以这样使用:
$text = htmlentities($item['content']);
echo substr(html_entity_decode($text),0,13); or
echo substr($text,0,13);