?ㄥ??涓??芥??preg_replace, iconv
? ? $html = preg_replace('/charset=gb2312/', 'charset=UTF8', $html);
? ? // $enc = mb_detect_encoding($html);
? ? $html = iconv('gbk', 'utf-8', $html);
https://php.net/manual/en/function.iconv.php
https://www.php.net/manual/en/function.preg-replace.php
????php瀹?缃???绀轟?
Example #2 Using indexed arrays with?preg_replace()
<?php
$string?=?'The?quick?brown?fox?jumps?over?the?lazy?dog.';
$patterns?=?array();
$patterns[0]?=?'/quick/';
$patterns[1]?=?'/brown/';
$patterns[2]?=?'/fox/';
$replacements?=?array();
$replacements[2]?=?'bear';
$replacements[1]?=?'black';
$replacements[0]?=?'slow';
echo?preg_replace($patterns,?$replacements,?$string);
?>
Example #1?iconv()?example
<?php
$text?=?"This?is?the?Euro?symbol?'??'.";
echo?'Original?:?',?$text,?PHP_EOL;
echo?'TRANSLIT?:?',?iconv("UTF-8",?"ISO-8859-1//TRANSLIT",?$text),?PHP_EOL;
echo?'IGNORE???:?',?iconv("UTF-8",?"ISO-8859-1//IGNORE",?$text),?PHP_EOL;
echo?'Plain????:?',?iconv("UTF-8",?"ISO-8859-1",?$text),?PHP_EOL;
?>
* testurl.php
<?php
/**
* Created by PhpStorm.
* User: mingzhanghui
* Date: 8/30/2019
* Time: 09:38
*/
function __autoload($className) {
include dirname(__FILE__).'/lib/'.$className.'.php';
}
header('Content-Type: text/html; charset=UTF8');
// http://47.93.27.106:8064/testurl.php?url=https://www.sk666.vip
$url = $_GET['url'];
try {
$html = Curl::testURL($url);
$html = preg_replace('/charset=gb2312/', 'charset=UTF8', $html);
// $enc = mb_detect_encoding($html);
$html = iconv('gbk', 'utf-8', $html);
echo $html;
} catch (Exception $e) {
Response::fail($e->getMessage(), $e->getCode());
}
?
* Curl.php
<?php
/**
* Created by PhpStorm.
* User: mingzhanghui
* Date: 8/29/2019
* Time: 15:34
*/
class Curl
{
/**
* @param $map
* @return string
*/
public static function buildQuery(/* array */ $map) {
$a = [];
array_walk($map, function($value, $name) use (&$a) {
array_push($a, sprintf("%s=%s", urlencode($name), urlencode($value)));
});
return implode('&', $a);
}
/**
* https://www.ft12.com
* @param $u
* @return mixed
* @throws Exception
*/
public static function shortURL($u) {
$api = "http://api.ft12.com/api.php";
return self::get($api, [
'url' => $u,
'apikey' => '******', // ????浠惰??email?protected]绱㈠??apikey
]);
}
public static function testURL($u) {
$api = "http://qbview.url.cn/getResourceInfo";
return self::get($api, [
'appid' => 31,
'url' => $u
]);
}
/**
* @param $host string
* @param $params array assoc
* @return mixed
* @throws Exception
*/
protected static function get($host, $params) {
$ch = curl_init();
$headers = [
"Accept: application/json",
"X-Requested-with: XMLHttpRequest",
];
$qs = self::buildQuery($params);
$fullURL = sprintf("%s?%s", $host, $qs);
curl_setopt_array($ch, [
CURLOPT_URL => $fullURL,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_CONNECTTIMEOUT => 5
]);
$data = curl_exec($ch);
$errno = curl_errno($ch);
if ($errno) {
throw new Exception("%s\n", curl_error($ch), $errno);
}
curl_close($ch);
return $data;
}
}
??缃?椤靛??瀹瑰?涓?:
<html><head>
<meta http-equiv="Content-Language" content="zh-CN">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta content="telephone=no" name="format-detection">
<link rel="stylesheet" type="text/css" href="http://rd.wechat.com/static/zh_CN/default/css/redirect_confirm.css?v=1375841702" target="_blank" rel="external nofollow" >
<title>汀示</title>
<style>
.container { }
.sectionContent { text-shadow:0 1px 0 #f5f5f5;font-size:18px; }
.sectionPannel {}
.firstP .lastP{ text-shadow:0 1px 0 #f5f5f5;}
.lastP { font-size:14px; }
a.normalLink { font-size:14px;text-decoration:none;color:#1587C1;font-weight:bold;text-shadow:0 1px 0 #f5f5f5; }
.confirm{padding:20px 15px;}
.confirm a.icon_info { display:block;border-radius:20px;background:#999;font-weight:bold;font-size:14px;color:#eee;text-shadow:0 1px 0 #333;border-top:1px solid #ddd;border-bottom:1px solid #fff;width:20px;height:20px;line-height:20px;margin:0 auto;text-decoration:none;padding:0;font-family:Georgia; }
.confirm .greenBtn b{font-weight:400}
.minorLink {
margin-top: 20px;padding:10px;font-weight:normal;font-size:14px;text-shadow:0 1px 0 #f5f5f5;text-decoration:none;color:#737373;line-height:1.5;background:transparent url("http://rd.wechat.com/static/zh_CN/default/img/bg_line.png?v=") no-repeat top center;
}
.sectionPannel .sectionContent .url{max-height:100%;}
.url_box{ margin: 5px; padding: 5px 0; border-top: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5; box-shadow: inset 0 1px 0px #FEFEFE, 0 1px 0px #FEFEFE;}
.url_box .url_wrp{margin: 0; max-height: 72px; overflow: hidden;}
.icon_warn{
height:160px;
background:url("http://rd.wechat.com/static/zh_CN/default/img/icon_warn.png?v=") no-repeat center;
margin-bottom:20px;
-webkit-background-size:160px;
background-size:160px;
}
.icon_link{
height:100px;
background:url("http://rd.wechat.com/static/zh_CN/default/img/icon_link.png?v=") no-repeat center;
margin-bottom:20px;
-webkit-background-size:100px;
background-size:100px;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
.icon_warn{
background-image:url("http://rd.wechat.com/static/zh_CN/default/img/icon_warn_1.5x.png?v=");
-webkit-background-size:160px;
background-size:160px;
}
.icon_link{
background-image:url("http://rd.wechat.com/static/zh_CN/default/img/icon_link_1.5x.png?v=");
-webkit-background-size:160px;
background-size:160px;
}
.minorLink{
background-image:url("http://rd.wechat.com/static/zh_CN/default/img/bg_line_1.5x.png?v=");
-webkit-background-size:320px 6px;
background-size:320px 6px;
}
}
</style>
</head>
<body>
<!--
?山賂?
1 %mtt_original_url攏盧症?一賂?摟路?實?顱始url
2 %mtt_qbview_url攏盧穴要魯??轉毛碌玫rl攏盧圓幕?露簍脅+魯?÷彪?? 3 %mtt_proxy_url攏盧 ?通O?轉碌??陳÷?
-->
<section class="container">
<div class="confirm" style="padding-top:0">
<!--alertIcon1 use for state1,alertIcon2 use for state2-->
<div class="section
icon_link
"></div>
<div class="section sectionPannel">
<div class="sectionContent" style="margin-bottom:20px;word-break: break-all">
<div class="url firstP" style="color:#737373;font-size:14px;">
牛陸蘆要路?實
<div class="url_box"><p class="url_wrp" id="url">https://www.sk666.vip</p></div>
<div style="color:red">麓??擄虜全路??攏盧為鹵攏?藕碌陌虜全攏盧?擄?9陸亍攏</div>
</div>
</div>
</div>
</div>
</section>
?
?