Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: замена числа 127.0.0.123 на 127.0.0.ххх (ип аддресс)  (Прочитано 14072 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cod3sun
Гость
« : 13-09-2006 03:43 » 

приветстую всех Улыбаюсь
собсно интересует как "закрыть|скрыть|закрасить|замазать" последние цифры ип аддресса?
пример если ип 192.168.0.123 то будет так 192.168.0.xхx Улыбаюсь
т.е надо чтобы .123 закрывало пару букв
« Последнее редактирование: 13-09-2006 03:46 от cod3sun » Записан
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 13-09-2006 06:09 » 

На как из языков пишется прога?
Я так понял:
у тебя есть сторка с ИП адресом. Тебе нужно заменить в этой строке последние цыфры на ххх. Правельно?
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 13-09-2006 06:43 » 

ищещь вторую точку и затираешь ненужное
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Chuda
Гость
« Ответ #3 : 13-09-2006 08:08 » 

Код:
<?php
$old_ip_address 
"127.0.0.123";
$new_ip_address preg_replace("/(\d+.\d+.\d+.)\d+/","\\1xxx",$old_ip_address);
?>

Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 13-09-2006 09:19 » 

Chuda, ты прелесть.
А че человеку слабо самому подумать?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Chuda
Гость
« Ответ #5 : 13-09-2006 09:40 » 

А что, не стоило готовую строку показывать?  Здесь была моя ладья...

Вот что точно стоит делать, но это вопрошающим - описывать задачу более подробно. А то легко нарваться на неправильный ответ. А человек пусть берёт готовое решение. Если будет интерес, то потом и разберётся, как делать, а если интереса нет и задача разовая, то зачем мучать человека, если можно спросить у тех, кто этим занимается и в состоянии посказать, не испытывая никаких затруднений?
Могу расписать, что в этой строке к чему, если интересно. Наверно так будет правильнее.
Сразу оговорюсь, что вопрошающий забыл указать язык, на котором надо задачу реализовать, поэтому я пишу на том, на котором пишу чаще всего - на php, что в коде указано явно. Если имелся в виду другой язык, то скажите, перепишу.
в php функция preg_replace производит поиск и замену по регулярному выражению. Принимает параметры (регулярное выражение, строка для замены, исходная строка).
синтаксис паттерна в данном случае предельно прост, но и писался с ходу, не задумываясь. \d означает любую десятичную цифру, + означает, что её должно быть одна или более. Точка - она и есть точка. Хотя вот тут-то я и ошиблась, и стоило её экранировать, а то получается любой символ. В круглых скобках субпаттерн, который переносится без изменений (во втором параметре функции обозначен как \\1), а последняя цифра игнорируется, и вместо неё пишется "ххх".
Вот так иногда полезно расписать, чтобы найти и свою ошибку.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 13-09-2006 09:51 » 

я думаю, что не стоило.
Вот если б вопрос прозвучал бы так:
я вот сделал то-то и то-то, так-то и так-то, но у меня не получилось, или получилось не то что хотел
тогда можно и поправить или дать примерчик.
Общий вопрос - общий ответ.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
cod3sun
Гость
« Ответ #7 : 13-09-2006 14:46 » 

Sla,
Цитата
ищещь вторую точку и затираешь ненужное
Вот! какраз такие я не прохавал как это делается, а все на самом деле лехКо Улыбаюсь

Chuda,
Цитата
Код:
preg_replace("/(\d+.\d+.\d+.)\d+/","\\1xxx", )
да да дааа спасибо тебе дорогая!! это оно и есть Люблю!

Sla,
Цитата
А че человеку слабо самому подумать?
А форум по что нужен? да да чтобы спрашивать и помогать другим таким как я  Здесь была моя ладья... ..
мне становится стыдно теперь сюда приходить раз такой треп уже пошел..
прежде чем задаю вопрос я капаюсь с минут десять в яше и гоголе, если ничего полезного то ползу на форумs


Chuda,
Цитата
Могу расписать, что в этой строке к чему, если интересно.
мне надо была только строка которую я заквотил и закодил выше.,т.е без камментов и подписей Улыбаюсь емае, ну не знал я как организовать такое :/

Цитата
Сразу оговорюсь, что вопрошающий забыл указать язык, на котором надо задачу реализовать, поэтому я пишу на том, на котором пишу чаще всего - на php, что в коде указано явно. Если имелся в виду другой язык, то скажите, перепишу.
все верно это же ветка форума WEB…скрипты (board,63.0.html) почти вся заполнена вопросами про пхп! никакова перла и асемлира я там не увидел, поэтому и строчить text сюда начал Улыбаюсь

Sla,
Цитата
Вот если б вопрос прозвучал бы так:
я вот сделал то-то и то-то, так-то и так-то, но у меня не получилось, или получилось не то что хотел
тогда бы меня вообще никто не понял Отлично

--
зы. спасибо всем кто помог..
извините если что не так :Улыбаюсь
« Последнее редактирование: 13-09-2006 14:47 от cod3sun » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 14-09-2006 06:13 » 

Цитата
форум по что нужен? да да чтобы спрашивать и помогать другим таким как я   ..
мне становится стыдно теперь сюда приходить раз такой треп уже пошел..
Зря обижаешься Жаль

Цитата
тогда бы меня вообще никто не понял
Здесь и не такое понимают Улыбаюсь

Например, я вообще не знаю что такое preg_replace Улыбаюсь
и с пхп знаком поверхностно.
Но есть классный хелп, с примерами
а гуглить такую специфическую задачу, хм Улыбаюсь
http://www.google.com.ua/search?hl=ru&q=php+%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0+%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2&meta=
для примера
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 14-09-2006 15:36 » 

Chuda, единственный маленький изъян в твоем примере - точки в рег.выражении нужно предварять слешами, а то с таким же успехом пройдет проверку строка типа "1a2-3#4".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #10 : 15-09-2006 06:33 » new

RXL, всё верно)))

...Точка - она и есть точка. Хотя вот тут-то я и ошиблась, и стоило её экранировать, а то получается любой символ.
....
Вот так иногда полезно расписать, чтобы найти и свою ошибку.
Ага
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines