不等な文字列の問題
この投稿の最終編集者は qq_24844315 2014-12-31 12:16:38 説明: ページから IP とポートを収集し、$ip と $duankou が収集されます。使用できないことがわかりましたが、手動入力は使用できます。2 つの文字列
を比較したところ、長さは異なりますが、エンコーディングは同じであることがわかりました。$b はどうすればよいでしょうか。は有効、$a 無効、
<br /><br />$a="tcp://".$ip.":".$duankou;<br />$b="tcp://77.81.105.147:7808";<br /><br />echo $a."<br>";<br />echo $b."<br>";<br /><br /> $encode = mb_detect_encoding($a, array("ASCII","UTF-8","GB2312","GBK","BIG5")); <br /> $encodes= mb_detect_encoding($b, array("ASCII","UTF-8","GB2312","GBK","BIG5")); <br /> <br /><br /> echo $encode."<br>";<br /> echo $encodes."<br>";<br /><br /> $changdu1= strlen($a);<br /> $changdu2= strlen($b);<br /> <br /> echo $changdu1."<br>";<br /><br /> echo $changdu2;<br />if($a==$b)<br />{<br /><br />echo "相等";<br /><br />}<br /><br />else<br />{<br />echo "不等";<br />}<br /><br /><br />
ログイン後にコピー
出力:
<br />//字符<br />tcp://77.81.105.147:7808<br />tcp://77.81.105.147:7808<br /><br />//编码<br />ASCII<br />ASCII<br /><br />//长度<br />42<br />24<br /><br />//结果<br />不等<br /><br />
ログイン後にコピー
------解決策のアイデア----- ------------------
$s = 'YTo0OntpOjA7UzoyNDoidGNwOi8vNzcuODEuMTA1LjE0Nzo3ODA4IjtpOjE7Uzo0MjoidGNwOi8vPHRkPjc3LjgxLjEwNS4xNDc8L3RkPjo8dGQ+NzgwODwvdGQ+IjtpOjI7Uzo1OiJBU0NJSSI7aTozO1M6NToiQVNDSUkiO30=';<br /><br />$a = unserialize(base64_decode($s));<br />var_dump($a);
ログイン後にコピー
array(4) {<br /> [0]=><br /> string(24) "tcp://77.81.105.147:7808"<br /> [1]=><br /> string(42) "tcp://<td>77.81.105.147</td>:<td>7808</td>"<br /> [2]=><br /> string(5) "ASCII"<br /> [3]=><br /> string(5) "ASCII"<br />}<br /><br />
ログイン後にコピー
理由は明白ですよね?
実際には、ブラウザで Web ページのソース コードを表示することで見つけることができます