私はこのコードを使用してデータベースからテキストを抽出していますが、うまく機能しています。640文字ではなく、最初または2番目の段落のみを抽出するようにできますか?
$this->data['getshorty'] = utf8_substr(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'), 0, 640);
私はこのコードを使用してデータベースからテキストを抽出していますが、うまく機能しています。640文字ではなく、最初または2番目の段落のみを抽出するようにできますか?
$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];
うまくいけば、2行目の正規表現があなたにとって意味があるかどうか尋ねてください!
HTMLを正規表現で解析することは通常悪い習慣と考えられていますが、このような単純な例では問題ないと思います。