2013-07-31 55 views
0

我遇到了一些麻煩與類別頁面上的產品說明和將不勝感激得到一些提示。破裂HTML標籤(Opencart的1.5.5.1)

因爲所有從該描述中的文本醜陋的方式合併,我提出在目錄/控制器/產品/ category.php(和specials.php和search.php中)的一些變化,包括HTML標籤:

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

代替

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

起初,一切似乎我希望它是的方式。 但是在一種情況下,指定的字符數限制恰好發生在HTML標籤內,導致整個佈局崩潰。描述爲「< /」

當然,改變文本長度一切都很好時再結束,但我幾乎可以問我的客戶數字符。

是否有可能阻止HTML標籤內休息? 還是有更好的方式來處理格式?一些擴展的建議可能?

由於提前, 達格瑪

回答

0

我把我的網址類中的以下方法,然後通過調用它:

$this->url->truncate($description, 150);

// truncate method 
public function truncate ($string, $limit = 145, $break = ".", $pad = ".") { 
    // return with no change if string is shorter than $limit 
    if (strlen ($string) <= $limit) return $string; 

    // is $break present between $limit and the end of the string? 
    if (false !== ($breakpoint = strpos($string, $break, $limit))): 
     if ($breakpoint < strlen($string) - 1): 
      $string = substr($string, 0, $breakpoint) . $pad; 
     endif; 
    endif; 

    return $string; 
} 

只有一段時間後後會破設置限制。

作品不錯。