1

重複の可能性:
PHP クエリの結果を列に分割する

データベースから説明を取得する次のコード行があります。

私がやろうとしているのは<br/>、説明に追加して、1 つの長いデータ列として表示されないようにすることです。

mb_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..'

現時点の:

データ データ データ データ データ データ データ.データ データ.データ データ.データ データ

必須:

データ データ

データ データ

データ データ

完全なコード:

            $this->data['products'][] = array(
                'product_id'  => $result['product_id'],
                'thumb'       => $image,
                'name'        => $result['name'],
                'description' => mb_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
                'price'       => $price,
                'special'     => $special,
                'tax'         => $tax,
                'rating'      => $result['rating'],
                'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
            );
4

3 に答える 3

2

wordwrap()たとえば、使用する方がおそらくより適切です。

$text = 'Data Data Data Data Data';
echo wordwrap($text, 10, '<br />', true);

結果:

Data Data
Data Data
Data Data
于 2012-07-11T05:09:05.093 に答える
2
<?php

$text = 'Data Data Data Data Data';

$data = explode(' ', $text);

foreach($data as $key => $value) {
    if ($key % 2 == 0) {
        echo '<br />';
    }
    echo $value . ' ';
}
于 2012-07-11T04:49:49.833 に答える
1

次の手順でこの問題を解決しました。

編集->catelog/ view / theme / default / template / product / product.tpl

上記の.tplドキュメントでは、配列内の行196を調整しました。

から:

'description' => mb_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..'

に:

'description' => strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),'<p>'),
于 2012-07-11T08:18:28.303 に答える