簡體   English   中英

如何從部分編碼的文本中獲取格式正確的內容

[英]How to get correctly formatted content from partly encoded text

我的腳本獲取了大量文本-可能是HTML代碼,也可能只是純文本,特殊字符可能已編碼或未編碼,或兩者都編碼。

因此,內容可能包含以下內容:

Don't Do That

It's called "Meme"

He said: 'Yeah'

我該怎么做才能將其作為一種類型-是否編碼?

我試過了:

htmlentities(html_entity_decode($text), ENT_QUOTES, "UTF-8"), ENT_NOQUOTES, "UTF-8")

但並非在所有情況下都有效。 例如:

退貨

由於html_entity_decode不會對字符串進行“雙重解碼”,因此您可以使用如下代碼:

$str=<<<STR
Don&#039;t Do That
It's called "Meme"
He said: &#039;Yeah&#039;
STR;

$tmp=html_entity_decode($str,ENT_QUOTES,"UTF-8");
while($str!=$tmp)
{
    $str=$tmp;
    $tmp=html_entity_decode($str,ENT_QUOTES,"UTF-8");
}

現在,您擁有一個已完全解碼的$str ,然后可以對其進行編碼或直接使用它,無論您喜歡什么。

當然,這不是一個完美的解決方案-有時人們傾向於首先對字符串進行編碼-如果您無法控制或過濾數據源,則值得一試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM