PHP HTML Decode


PHP HTML Decode

我被迫使用看起来像这样的 HTML:

<font color=3D=22=236EAED2=22 style=3D=22font-siz=
e:13px;font-family:arial;=22><B>Some Info Here</B></font></=
A></td></tr><tr><td><font color=3D=22=23FFFFFF=22 style=3D=22font-size:11=
px;font-family:arial;=22>192 Wellington Parade =7C Melbourne =7C  VIC =7C=
Australia 3002</font></td></tr><tr><td><font color=3D=22=23FFFFFF=22 st=
yle=3D=22font-size:11px;font-family:arial;=22>T: 61-<a href=3D=22=23=22 s=
tyle=3D=22color:=23FFFFFF; text-decoration:none=22>

看起来" 转换为 =22 等等。还有其他"代码",例如 =7C =3D、= 在每个新行之前等等。

&nbsp; is =26nbsp;

是否有任何功能或技术可以恢复到正确的 HTML?

谢谢。

使用quoted_printable_decode("YOUR String to decode");imap_qprint("Your String to decode")

检查小提琴

描述 : quoted_printable_decode — 将带引号的可打印字符串转换为 8 位字符串

他的函数返回一个 8 位二进制字符串,对应于解码的带引号可打印字符串(根据 » RFC2045,第 6.7 节,而不是 » RFC2821,第 4.5.2 节,因此不会从行首剥离额外的句点(。

更多信息,也在这里

这是引用的可打印编码,可以用quoted_printable_decode解码。

这样:

$input= "the string that you need to be decoded";
$output = quoted_printable_decode($input);
echo $output;

看起来他们只是用 = 替换了"%"。你说 =22 被翻译成",而 %22 是"的 url 编码字符。

在这里查找图表,您可能会找到一种用 PHP 替换字符的方法。

此外,引用可打印和htmlspecialchars可能有一些用处