0

我正在使用此代码从数据库中提取文本,并且效果很好。我可以让它只提取第一段或第二段而不是计算到 640 个字符吗?

$this->data['getshorty'] = utf8_substr(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'), 0, 640);
4

1 回答 1

0

如果您的段落在<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 通常被认为是不好的做法,但我认为对于像这样的简单示例来说它很好。

于 2012-06-12T16:30:33.700 回答