Помогите, есть поле <textarea> туда вносятся через пробел или кому айпи - адреса и затем добавляются в базу. Задача сделать так чтобы каждый ип попадал в отдельную колонку. Возможно такое сделать ??
https://php.ru/manual/function.explode.html А если неизвестен разделитель - пробел или запятая - копай https://php.ru/manual/function.preg-match.html
Пример кода: PHP: <?php // Содержимое textarea (произвольные IP адреса) $ips = '125.156.1.15, 10.0.0.1 127.0.0.1,125.168.197.254'; // Осуществляем поиск if(preg_match_all('/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/i', $ips, $ip)){ // TODO: сюда помещаем код для обработки найденных адресов echo '<pre>'; print_r($ip); } ?> На выходе получим следующее: Код (Text): Array ( [0] => Array ( [0] => 125.156.1.15 [1] => 10.0.0.1 [2] => 127.0.0.1 [3] => 125.168.197.254 ) ) Всё правильно, не смотря на неуместные запятые, пробелы, отсутствие пробелов и так далее. Также можно использовать preg_split .. впрочем количество вариантов реализаций ограничено только вашей фантазией.
спасибо, получилось !! PHP: <?php include("config/config.php"); // Содержимое textarea (произвольные IP адреса) $ips = '125.156.1.15, 10.0.0.1 127.0.0.1,125.168.197.254'; // Осуществляем поиск if(preg_match_all('/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/i', $ips, $ip)){ // TODO: сюда помещаем код для обработки найденных адресов } foreach($ip as $key=>$value) { for($i=0; $i<count($value); $i++) { echo $value[$i]."<br>"; $query = mysql_query("insert into table (ob_id,ip) values (ob_id,'".$value[$i]."')"); } } ?>
Подкорректирую: Sindicat, только поместите цикл внутрь логического блока if (замените своим кодом TODO). Просто в случае несовпадения, получите ошибку.