2013-07-16 40 views
2

我使用的是wordpress,對於我正在處理的網站,我已經設置了一個自定義的帖子類型,用於列出他們的每個服務和詳細信息。將#&#038轉換成&符號

在他們的自定義聯繫人窗體,我查詢了自定義後類型以獲取每個帖子的標題爲一個選項列表,以便用戶可以選擇他們哪個服務感興趣的

形式的一部分提交表單時的邏輯檢查是否填寫了所有必填字段,如果不填寫,則會發出警報並要求用戶填寫所需的信息。

我在每個輸入中都有一段php代碼,以將發佈的數據回顯到表單中,以便它不會丟失,並且我正在嘗試執行相同的選項下拉菜單,但我正在運行一個很無奈的問題:

任何WordPress的文章標題與和它具有的&#038,這是很好的一個字符代碼替換符號與符號,它顯示在我的瀏覽器的&,但它提交後,在發佈數據中變成&。

當我嘗試每個帖子標題比較提交選擇,if語句從來沒有發現匹配,因爲&#038和&不匹配。

我試過在wordpress的標題上使用htmlspecialchars_decode(),但是這並沒有解碼&#038回到&。

有誰知道一個函數來完成這個並解碼可能會彈出的任何奇怪的字符編碼?

這是我的while循環,發生這種情況。

while ($custom_post_type->have_posts()) : $custom_post_type->the_post(); 

//set selected if submission is bouncing back          
if($_POST['ftype'] == get_the_title()) 
{ 
    $the_selected = ' selected="selected" '; 
} 
else 
{ 
    $the_selected = ''; 
} 

?> 

    <option value="<?php echo get_the_title(); ?>" <?php echo $the_selected; ?>><?php echo get_the_title(); ?></option> 

<?php 


endwhile; 

回答

4

html_entity_decode應該工作。

echo html_entity_decode('&#038;'); 
-2

有WordPress的插件,可以幫助你:
https://wordpress.org/plugins/wp-no-format/

這個插件的想法是讓您從您的文章中的特定部分格式化 你的HTML停止的WordPress。

它的使用方法很簡單,你只要寫:

<!-- noformat on --> 

在WordPress的編輯器,只是你要保護的部件之前,以及 從這一點來說,WordPress會不會觸碰你寫的HTML代碼。如果 要恢復標準的「格式化」你必須鍵入:

<!-- noformat off -->