我使用以下函數(在我的Wordpress兒童主題功能文件以及插件中都嘗試過 - 在兩種情況下都可以使用)從帖子標題中刪除主題標籤。這個函數做了我想要的,但是所有的標題(帖子正文內容都可以,只是標題)現在正在顯示字符的HTML數字(即'= & 8217;和& = & 038;和 - = & 8211;)。我的php函數做我想要的,但輸出將字符轉換爲ASCII
所以這個標題
這#testing的&和撇號#tagstitle #cats #cat #instagramcats
成爲
這& 8217; S測試& 038;和撇號
它根據需要刪除主題標籤,但創建字符問題。
function remove_hashtags($string){
return preg_replace('/#(?=[\w-]+)/', '',
preg_replace('/(?:#[\w-]+\s*)+$/', '', $string));
}
add_filter('the_title', 'remove_hashtags');
我試圖增加額外的代碼:PHP上讀了(我只是學習)後
html_entity_decode('the_title', ENT_QUOTES | ENT_XML1, 'UTF-8');
的功能,但它似乎沒有工作,我不知道如何使用
html_entities($string)
(問題的更新加入更多的信息)
我基本上採取了代碼here - 那正是我所需要的。我只是添加了過濾WordPress帖子標題的最後幾行。
我不想讓它太複雜的問題,但理想情況下,我想從文本中刪除標籤並實際上從它們創建帖子標籤。我發現了每個部分的幾個答案,我只是不知道如何把它放在一起。忘記,雖然...我真的只是想知道爲什麼突然之間ascii號碼正在取代原標點符號。
爲什麼不只是str_replace函數(「#」,「」,$字符串),而不是正則表達式?此外,你的回報是在第二個preg_replace之前,這意味着它永遠不會執行。 – Kaylined