使用Vue过滤器从HTML字符串中删除img元素

时间:2019-04-23 21:38:41

标签: javascript vue.js

我想做一个过滤器:

-按给定数量的字符截断文本

-从html字符串中删除图像元素

-字符数必须始终相同,这意味着在截断文本时必须考虑从图像元素中删除的字符。

伙计们,请帮我完成这个过程,我比较难的部分是考虑到从图像元素中删除的字符,当我说删除图像时,我的意思是实际上是在删除整个元素字符串:

<img> and everything in between </img>

这是我目前的方法:

Vue.filter('truncate', function (value, limit = 30) {
    if(!value) return '';

    if (value.length > limit) {
        value = value.substring(0, (limit - 3)) + '[...]';

    }
    //must always return value *anything
    return value;
})

这是我在模板中应用过滤器的方式:

<section class="EVENTcard1_maincontainer" v-if="event">
           <div class="EVENTcard1_item_info_description fs_normal c_normal" v-html="$options.filters.truncate(event.body, 400)"></div>

</section>
</template>

0 个答案:

没有答案