<DIV style="BACKGROUND: #fdfdfd; COLOR: black"><U>PHP语言</U>: <A
href="
http://fayaa.com/code/view/1934/">Codee#1934</A></DIV>
<DIV class=source style="COLOR: #000000; FONT-FAMILY:
'[object]','Consolas','Lucida Console','Courier New';
BACKGROUND-COLOR: #f9f7ed" jQuery1244450739390="2"><SPAN style="COLOR:
#008080"><?php</SPAN><BR><BR><SPAN style="COLOR: #008800;
FONT-STYLE: italic">//探测编码。注意:由于gb2312,gbk,big5范围有重合,按照最小范围判断</SPAN><BR><SPAN
style="FONT-WEIGHT: bold; COLOR: #000080">function</SPAN> <SPAN
style="COLOR: #000000">get_encoding</SPAN>(<SPAN style="COLOR:
#000000">$string</SPAN>)<BR><SPAN style="COLOR:
#000000">{</SPAN><BR> <SPAN style="COLOR:
#000000">$re</SPAN><SPAN style="COLOR: #000000">[</SPAN><SPAN
style="COLOR: #0000ff">'utf-8'</SPAN><SPAN style="COLOR:
#000000">]</SPAN> <SPAN style="COLOR: #000000">=</SPAN> <SPAN
style="COLOR: #0000ff">"/[</SPAN><SPAN style="COLOR:
#0000ff">\x01</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\x7f</SPAN><SPAN style="COLOR:
#0000ff">]|[</SPAN><SPAN style="COLOR: #0000ff">\xc2</SPAN><SPAN
style="COLOR: #0000ff">-</SPAN><SPAN style="COLOR:
#0000ff">\xdf</SPAN><SPAN style="COLOR: #0000ff">][</SPAN><SPAN
style="COLOR: #0000ff">\x80</SPAN><SPAN style="COLOR:
#0000ff">-</SPAN><SPAN style="COLOR: #0000ff">\xbf</SPAN><SPAN
style="COLOR: #0000ff">]|[</SPAN><SPAN style="COLOR:
#0000ff">\xe0</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\xef</SPAN><SPAN style="COLOR:
#0000ff">][</SPAN><SPAN style="COLOR: #0000ff">\x80</SPAN><SPAN
style="COLOR: #0000ff">-</SPAN><SPAN style="COLOR:
#0000ff">\xbf</SPAN><SPAN style="COLOR: #0000ff">]{2}|[</SPAN><SPAN
style="COLOR: #0000ff">\xf0</SPAN><SPAN style="COLOR:
#0000ff">-</SPAN><SPAN style="COLOR: #0000ff">\xff</SPAN><SPAN
style="COLOR: #0000ff">][</SPAN><SPAN style="COLOR:
#0000ff">\x80</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\xbf</SPAN><SPAN style="COLOR:
#0000ff">]{3}/"</SPAN>;<BR> <SPAN style="COLOR:
#000000">$re</SPAN><SPAN style="COLOR: #000000">[</SPAN><SPAN
style="COLOR: #0000ff">'gb2312'</SPAN><SPAN style="COLOR:
#000000">]</SPAN> <SPAN style="COLOR: #000000">=</SPAN> <SPAN
style="COLOR: #0000ff">"/[</SPAN><SPAN style="COLOR:
#0000ff">\x01</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\x7f</SPAN><SPAN style="COLOR:
#0000ff">]|[</SPAN><SPAN style="COLOR: #0000ff">\xb0</SPAN><SPAN
style="COLOR: #0000ff">-</SPAN><SPAN style="COLOR:
#0000ff">\xf7</SPAN><SPAN style="COLOR: #0000ff">][</SPAN><SPAN
style="COLOR: #0000ff">\xa0</SPAN><SPAN style="COLOR:
#0000ff">-</SPAN><SPAN style="COLOR: #0000ff">\xfe</SPAN><SPAN
style="COLOR: #0000ff">]/"</SPAN>;<BR> <SPAN
style="COLOR: #000000">$re</SPAN><SPAN style="COLOR:
#000000">[</SPAN><SPAN style="COLOR:
#0000ff">'gbk'</SPAN><SPAN style="COLOR: #000000">]</SPAN>
<SPAN style="COLOR: #000000">=</SPAN> <SPAN style="COLOR:
#0000ff">"/[</SPAN><SPAN style="COLOR: #0000ff">\x01</SPAN><SPAN
style="COLOR: #0000ff">-</SPAN><SPAN style="COLOR:
#0000ff">\x7f</SPAN><SPAN style="COLOR: #0000ff">]|[</SPAN><SPAN
style="COLOR: #0000ff">\x81</SPAN><SPAN style="COLOR:
#0000ff">-</SPAN><SPAN style="COLOR: #0000ff">\xfe</SPAN><SPAN
style="COLOR: #0000ff">][</SPAN><SPAN style="COLOR:
#0000ff">\x40</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\xfe</SPAN><SPAN style="COLOR:
#0000ff">]/"</SPAN>;<BR> <SPAN style="COLOR:
#000000">$re</SPAN><SPAN style="COLOR: #000000">[</SPAN><SPAN
style="COLOR: #0000ff">'big5'</SPAN><SPAN style="COLOR:
#000000">]</SPAN> <SPAN style="COLOR: #000000">=</SPAN> <SPAN
style="COLOR: #0000ff">"/[</SPAN><SPAN style="COLOR:
#0000ff">\x01</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\x7f</SPAN><SPAN style="COLOR:
#0000ff">]|[</SPAN><SPAN style="COLOR: #0000ff">\x81</SPAN><SPAN
style="COLOR: #0000ff">-</SPAN><SPAN style="COLOR:
#0000ff">\xfe</SPAN><SPAN style="COLOR: #0000ff">]([</SPAN><SPAN
style="COLOR: #0000ff">\x40</SPAN><SPAN style="COLOR:
#0000ff">-</SPAN><SPAN style="COLOR: #0000ff">\x7e</SPAN><SPAN
style="COLOR: #0000ff">]|</SPAN><SPAN style="COLOR:
#0000ff">\xa1</SPAN><SPAN style="COLOR: #0000ff">-</SPAN><SPAN
style="COLOR: #0000ff">\xfe</SPAN><SPAN style="COLOR:
#0000ff">])/"</SPAN>;<BR>
<BR> <SPAN style="FONT-WEIGHT: bold; COLOR:
#000080">foreach</SPAN>( <SPAN style="COLOR: #000000">$re</SPAN> <SPAN
style="FONT-WEIGHT: bold; COLOR: #000080">as</SPAN> <SPAN
style="COLOR: #000000">$encoding</SPAN><SPAN style="COLOR:
#000000">=></SPAN><SPAN style="COLOR: #000000">$pattern</SPAN>
)<BR> <SPAN style="COLOR:
#000000">{</SPAN><BR> <SPAN
style="COLOR: #000000">$rstring</SPAN> <SPAN style="COLOR:
#000000">=</SPAN> <SPAN style="COLOR:
#000000">preg_replace</SPAN>(<SPAN style="COLOR:
#000000">$pattern</SPAN><SPAN style="COLOR: #000000">,</SPAN> <SPAN
style="COLOR: #0000ff">""</SPAN><SPAN style="COLOR:
#000000">,</SPAN> <SPAN style="COLOR:
#000000">$string</SPAN>);<BR>
<SPAN style="FONT-WEIGHT: bold; COLOR: #000080">if</SPAN>( <SPAN
style="COLOR: #000000">$rstring</SPAN> <SPAN style="COLOR:
#000000">==</SPAN> <SPAN style="COLOR:
#0000ff">""</SPAN>)<BR>
<SPAN style="COLOR:
#000000">{</SPAN><BR>
<SPAN style="FONT-WEIGHT: bold; COLOR: #000080">return</SPAN> <SPAN
style="COLOR: #000000">$encoding</SPAN>;<BR>
<SPAN style="COLOR: #000000">}</SPAN><BR> <SPAN
style="COLOR: #000000">}</SPAN><BR> <SPAN
style="FONT-WEIGHT: bold; COLOR: #000080">return</SPAN> <SPAN
style="FONT-WEIGHT: bold; COLOR: #000080">null</SPAN>;<BR><SPAN
style="COLOR: #000000">}</SPAN><BR><BR><SPAN style="COLOR:
#008080">?></SPAN><BR></DIV>