一部のクエリ Web サイトや検索エンジンでは、特定の文字列が標準 IP アドレスであるかどうかを判断するためによく使用されます。たとえば、Baidu で IP アドレスを検索すると、標準ではない IP アドレスに関する情報が表示されます。規格を満たしている場合、IP情報は表示されません。このとき、文字列が標準 IP であるかどうかを判断する必要があります。最も一般的な方法は、正規表現を使用して判断することです。
インターネット上で IP アドレスを判断するための一般的なルールをいくつか検索しましたが、どれも単純すぎて、IP フィールドが 255 以下であると判断するだけのものもあります。たとえば、判断する必要があることがたくさんあります。 、数値のみを指定でき、負の数値は指定できません。「.」は 4 つのセグメントのみを分割する場合などにも便利です。
完璧だと思う関数をコンパイルするのが最善です。文字列が IP であるかどうかを判断するための PHP のコードは次のとおりです。
<ol class="dp-xml"> <li class="alt"><span><span>function is_ip($gonten){ </span></span></li> <li> <span>$</span><span class="attribute">ip</span><span> = </span><span class="attribute-value">explode</span><span>(”.”,$gonten); </span> </li> <li class="alt"> <span>for($</span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>;$i</span><span class="tag"><</span><span class="tag-name">count</span><span>($ip);$i++) </span></li><li><span>{ </span></li><li class="alt"><span>if($ip[$i]</span><span class="tag">></span><span>255){ </span> </li> <li><span>return (0); </span></li> <li class="alt"><span>} </span></li> <li><span>} </span></li> <li class="alt"><span>return ereg(”^[0-9]{1,3}.<br>[0-9]{1,3}.[0-9]{1,3}.[0-9]<br>{1,3}$”,$gonten); </span></li> <li><span>} </span></li> </ol>
$gonten はクエリ対象の文字列です。 is_ip($gonten) を使用して実現します。 PHP は文字列が IP であるかどうかを判断し、FALSE と TRUE を返します。