2014-10-20 81 views
0

我想用一個函數編碼特殊實體,在這裏我正在嘗試: 它的一個可靠的函數,與ratables明星,我有兩個功能顯示可評級的消息,一個是顯示默認的結果,第二個時,我給它一個新的費率特殊字符不會轉換爲html實體(html_entity_decode不工作)

function showStars($ratableKey) { 
... 
$textDesc = "<div id=\"rabidRating-$ratingId-description\" class=\"ratingText\">" 
       .$this->getStarMessage($rating)."</div>"; 
echo $textDesc 
} 

我是叫getStarMessage兩種不同的方式

function getStarMessage($rating) { 
    $stars = $this->percentToStars($rating['rating']); 
    if ($rating[totalRatings] > 1) $s = "s"; 
    $div_stars = "<div class=\"rate\">"; 

    $result= "$stars/$this->stars ".$div_stars." ($rating[totalRatings] avis)</div>"; 
    $result= html_entity_decode($result); 
    return $result; 
} 

在defaut方式(在showStars功能)它工作正常(與或沒有html_entity_decode) 但是當我在另一個函數調用的getStarMessage函數

function doVote($ratableId, $percent) { 

    ... 

    $rating = $this->loadRating($id); 
    $return = $this->getStarMessage($rating); 

    echo $return; ==> the problem is here 

} 

在源代碼中它顯示

<div class="ratingText " id="rabidRating-9-description">2.8/5 &lt;div class="rate"&gt; (141 avis)&lt;/div&gt;</div> 

,因此,輸出的是本

2.8/5 <div class="rate"> (142 Stars)</div> 

它不顯示爲html實體,但顯示爲簡單的字符串。

難道我做錯了什麼?

這裏是一些截圖:

顯示默認: Displaying default withour rating

等級後(上星CLIK) After clik on stars to rate

+0

任何一個請... – Marline 2014-10-21 13:41:56

回答

0

你想要一個div.rate被渲染HTML?如果是這樣,那麼你不應該把「& lt」等實體 - >與你想要的完全相反 - 它保留字符串中的「小於」字符。 所以,如果我理解你很好,你的代碼必須是

<div class="ratingText " id="rabidRating-9-description">2.8/5 <div class="rate"> (141 avis)</div></div> 

好運。

+0

getStarmessage顯示文本爲「

2.8/5 <div class="rate"> (141 avis)</div>
」,我打算將&lt實體轉換爲「小於」caracter,這是我的客體化 – Marline 2014-10-20 09:49:52