php字符串避免粗体斜体等

php字符串避免粗体斜体等,php,Php,我试着用谷歌搜索这个,但没有成功。我不知道怎么说,lmfao。但无论如何,我有一篇文章: 但是它显示了粗体、斜体等等(这会弄乱样式文章的默认CSS,而实际上它应该显示在这里:(这很好))。我要问的是,我将如何尝试不解码html实体?只显示新闻内容的默认文本 代码如下: <?php echo substr($row['news_content'], 0, 150). "...... <a href=''>(Read More)</a>"; ?> 不要内联格式

我试着用谷歌搜索这个,但没有成功。我不知道怎么说,lmfao。但无论如何,我有一篇文章:

但是它显示了粗体、斜体等等(这会弄乱样式文章的默认CSS,而实际上它应该显示在这里:(这很好))。我要问的是,我将如何尝试不解码html实体?只显示新闻内容的默认文本

代码如下:

<?php echo substr($row['news_content'], 0, 150). "...... <a href=''>(Read More)</a>"; ?>

不要内联格式化内容-对内容页使用样式表。然后在缩短所有文章的主页上,使用忽略格式的特殊样式表。

使用php中的
strip\u tags()
函数

echo substr(strip_tags($row['news_content']), 0, 150). "...... <a href=''>(Read More)</a>";
echo substr(带标签($row['news\u content')),0,150)。"...... ";

在截断HTML字符串的长度之前,需要将其转换回文本

您可以使用
strip\u标记
,然后是
html\u entity\u decode

使用html_entity_decode是一个好主意,因为否则,截断字符串可能会将字符串部分剪切到html实体中,如

在截断字符串之前执行这两项操作是一个好主意,这样HTML标记和实体就不会包含在结果字符串的长度中,并且不会意外地将它们切成两半

下面是一个总体示例:

function gettextexcerpt($myhtml, $len = 150) {
    $myhtml = html_entity_decode(strip_tags($myhtml), ENT_QUOTES, 'UTF-8');
    return substr($myhtml, 0, $len);
};

如果您对文本使用不同的字符编码,请更改
UTF-8

wow。我真不敢相信我竟然没有明白。谢谢,伙计。如果你在substr之后去掉标记,像这样,你可能会在字符串的末尾有半个标记,这可能会弄乱你的HTML。此外,您可能更希望HTML标记不计入150个字符的限制,这也是在substr之前去除_标记的另一个原因。在截断长度之前,而不是在-之后进行此操作,以便生成的长度仅包括去除_标记后剩余的文本。感谢您的评论,我已经更新了代码可能重复的
function gettextexcerpt($myhtml, $len = 150) {
    $myhtml = html_entity_decode(strip_tags($myhtml), ENT_QUOTES, 'UTF-8');
    return substr($myhtml, 0, $len);
};