我正在使用此代码从数据库中提取文本,并且效果很好。我可以让它只提取第一段或第二段而不是计算到 640 个字符吗?
$this->data['getshorty'] = utf8_substr(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'), 0, 640);
我正在使用此代码从数据库中提取文本,并且效果很好。我可以让它只提取第一段或第二段而不是计算到 640 个字符吗?
$this->data['getshorty'] = utf8_substr(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'), 0, 640);
如果您的段落在<p></p>
标签中,这是一个简单的解决方案应该可以工作:
$fullDescription = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
preg_match('/<p\s*>(.)*<\/p\s*>/isU',$fullDescription,$matches);
$this->data['getshorty'] = $matches[0];
希望第二行的正则表达式对您有意义,如果不是,请询问!
尽管使用正则表达式解析 HTML 通常被认为是不好的做法,但我认为对于像这样的简单示例来说它很好。