Как получить только IP-адрес / подсеть

Я использую плагин jquery, он маскировал мое поле и позволял пользователю вводить правильные значения. Он работает очень хорошо, но теперь, когда я отправляю свою форму, объект IP является массивом, мне нужно получить только номер IP (10.1.25.2/30)

Результат:

$ip = $_POST['ipaddress']; print_r($ip); //It returns to me Array ( [abcd] => Array ( [0] => 10.1.25.2/30 ) ) 

Мне нужно взорвать массив или сделать что-то на этом пути. Помогите пожалуйста.

Весь код:

Плагины jQuery для страницы HTML :

 <script src="scripts/jquery.min.js" type="text/javascript"> <script src="jquery.validate/jquery.caret.js" type="text/javascript"></script> <script src="jquery.validate/jquery.ipaddress.js" type="text/javascript"></script> <script> $(function(){ $('#ip').ipaddress({cidr:true}); }); </script> <form name="form1" method="post" action="equipAction.php"> <tr> <td>IP</td> <td><input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" /> <b>»» IP atribuído ao contrato do Cliente/Torre </b> </td> </tr> <input type='submit' name="alt" value="Edit" class="btn" /> </form> 

Теперь мой PHP-код действия:

  if ($_POST["alt"] == "Edit") { # Dados do form $idequip = $_GET['id']; $contrato = $_POST['contrato']; $transmi = $_POST['transmissor']; $ip = $_POST['ipaddress']; $local = $_POST['local']; //tipo_equip $obs = $_POST['obs']; $usado = $_POST['usado']; echo "<br />"; print_r($ip); # Atualiza dados do equipamento mestre # desenvolvendo $res = mysql_query("UPDATE equipment SET idtorre='$transmi', ip='$ip', tipo_equip='$local', obs='$obs', usado_cliente='$usado' WHERE id='$idequip'") or die("Erro na query: atualização equipamento mestre."); #header("Location: equipamento_adm.php?return=3&ip=$control"); exit; } 

Все это!

Это простой многомерный массив, вы можете получить свое значение следующим образом:

 $ip = $_POST['ipaddress']; $justip = $ip['abcd'][0]; 

Теперь в переменной $justip есть только ip-адрес.

Возможно, вам стоит прочитать документацию по массивам: http://ch.php.net/manual/en/language.types.array.php

Сколько форм на этой странице?

Причина, по которой она появляется в массиве, а не в $ _POST ['ipaddress'], такова: <input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" /> в форме html. [abcd][] заставляет его делать ipaddress массив, содержащий массив с ключом «abcd», из которого первый доступный ключ заполняется значением из формы. Если вы сделали <input name="ipaddress" id="ip" type="text" value="<?=$ip;?>" /> Тогда IP-адрес будет доступен непосредственно через $_POST['ipaddress'] ,

Если у вас несколько форм, используйте name="ipaddress[]" и каждая форма заполнит ключ массива $_POST['ipaddress'] , поэтому $_POST['ipaddress'][0] будет первой формой и $_POST['ipaddress'][1] будет второй формой и так далее.

Кстати, если вы переключитесь с

 <input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" /> 

в

 <input name="ipaddress[abcd]" id="ip" type="text" value="<?=$ip;?>" /> 

вы избавитесь от массива (обратите внимание на удаление [] из атрибута имени ввода).