我目前正在尋找一種解決方案,我可以用它來找出所選的IP地址是否在一個字符串內,用專用替代它們。我的問題是,我不只是要取代總是相同的IP,但範圍。尋找建議更改IP地址顯示 - 可能與正則表達式?
例如,我想找出一個字符串中包含有123開始,如果是的話,更改IP地址,以字私人
例如一個IP:
123.55.33.10
123.100.10.110
123.1.5.1
問題是,我不知道確切的IP地址,只知道他們是如何啓動的,所以我不能通過檢查字符串長度等來檢查他們。
接下來的問題是我想替換各種IP的,例如第一個一開始是123,然後是一些以66開頭的,等等。因此,對於我的問題,這將是巨大的,如果你能幫助我想出,基本上像一個解決方案:
$ips = array("123.","66.","112.");
和解決方案將基本檢查,如果字符串包含數組的一個值,然後更換字私人的IP - 但不僅僅是123,但任何可能的組合成一個整體,這意味着不只是$string = str_replace("123.","",$string);
但私人
原因更換整個IP地址,該R equest: 我正在爲學校建立一個小腳本,我需要用專用替換IP,因爲搜索功能會返回帶有IP地址的結果,而且我不想在結果中顯示它們。
該字符串可能看起來像: 漢斯IP 123.1.1.1在2012年10月12日
張貼所以,我的任務是顯示: 漢斯IP 私人張貼在2012年10月12日
所以要總結一下,無論字符串是否是: Hans在10.12.2012上發佈了IP 123.112.12.1或 Hans在10.12.2012上發佈了IP 123.12.15.12或 Hans於10.12.2012上發佈了IP 123.24.0.100
解決方案將取代任何IP的,與價值開始從我的陣列字私人
感謝您抽出時間閱讀本:)
編輯:
我這個嘗試的解決方案字符串,但它並沒有達到預期效果:
<?php
$ip = "The date is 12.10.2012 and this ip 123.1.2.12 should not show but 144.100.1.11 should show while 66.122.11.9 should not show";
$ip = preg_replace('/^(123 | 66 | 112) \. [\d.]+$/x', "private", $ip);
echo $ip;
?>
什麼到底應該顯示爲:
日期是12.10.2012,這個IP 私人不應該顯示,但144。100.1.11應該顯示而私人不應該顯示
首先'explode' +'in_array' =解決方案。 – hakre