→ banana2014: 註:content裡的內容都已經事先htmlspecialchars了 06/06 21:29
推 LPH66: 我覺得你要反過來想, 你要標示的是顯示出來的字串 06/07 03:58
→ LPH66: 那麼你應該要先解掉 htmlspecialchars 再做搜尋 06/07 03:58
→ LPH66: 或者如果你有原始字串的話, 先標出來再上 htmlspecialchars 06/07 04:01
→ banana2014: 但是程式如果先標記再做htmlspecialchars的話,連 06/07 09:46
→ banana2014: <font color=red><b>...</b></font>這些標籤也會被一 06/07 09:47
→ banana2014: 併轉換成HTML實體,所以順序上是不能改變的 06/07 09:48
→ Darkland: 如果 search_txt 也是已經 htmlspecialchars 的狀態了 06/07 17:29
→ Darkland: 直接用一行 str_replace 會有什麼問題嗎@@ 06/07 17:30
→ banana2014: 當$content="abc&ggf";且$search_txt="mp;ggf"時 06/07 19:12
→ banana2014: 照理來說不應該做任何標記(因為顯示出來的畫面結果第 06/07 19:14
→ banana2014: 一個變數($content)會是:「abc&ggf」,而第二個變數 06/07 19:15
→ banana2014: ($search_txt)會是:「mp;ggf」,顯然第一個變數字串 06/07 19:16
→ banana2014: 沒有包含第二個變數字串),但是如果用str_replace的話 06/07 19:17
→ banana2014: 就會變成「mp;ggf」標紅字了,整體的HTML碼會變成「 06/07 19:22
→ banana2014: abc&a<font color=red><b>mp;ggf</b></font>」,而這 06/07 19:23
→ banana2014: 不是我想要的結果 06/07 19:23
→ banana2014: 總而言之,把HTML實體看作是一個字,不要被其他片段的 06/07 19:26
→ banana2014: 字一起給標記住了 06/07 19:26
→ bibo9901: 先html_entity_decode? 06/07 21:02