使用php删除元描述(Magento)

时间:2014-05-21 20:01:26

标签: php magento

现在我修改了这段代码

<meta name="description" content="<?php echo htmlspecialchars($this->getDescription()) ?>" />

是这段代码

<meta name="description" content="<?php echo strip_tags($this->getDescription()) ?>" />

并且所有可怕的html都已从我的元描述中删除,如果留空则从描述中自动生成。知道如何修改它以删除&nbsp;并将其替换为空格吗?

3 个答案:

答案 0 :(得分:1)

str_replace('&nbsp;', ' ', $this->getDescription())将返回另一个字符串,其中&nbsp;替换为空格。这意味着您只需使用$this->getDescription()函数替换str_replace()(返回字符串):

<meta name="description" content="<?php echo strip_tags(str_replace('&nbsp;', ' ', $this->getDescription())) ?>" />

如果你打破它可能会更清洁一点:

<?php
$description = $this->getDescription();
$description = strip_tags($description);
$description = str_replace('&nbsp;', ' ', $description);
?>

<meta name="description" content="<?=$description?>" />

注意<?=$description?> <?php echo $description; ?>为{{1}}。

答案 1 :(得分:1)

我认为正确的方法是修复源数据。您可以在Magento后端执行此操作或直接在数据库中更新数据(db table catalog_product_entity_text,您需要从eav_attribute数据库表中找到正确的attribute_id)。

答案 2 :(得分:0)

看看@ How to remove html special chars?

$description = preg_replace("/&#?[a-z0-9]+;/i","", $description);