ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

15.12.2008, 22:57
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
надо что-то типа:
|.+[^http^https^ftp]*.+|
|
|
|

15.12.2008, 22:58
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Вот так написал ^[а-я][А-Я]* и теперь в поле Имя Фамилия нельзя записать адрес сайта...
|
|
|

15.12.2008, 23:03
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
if (preg_match('/\\b(http:\/\/|)([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\\?[-A-Z0-9+&@#\/%=~_|!:,.;]*)?/i', $subject, $res)) условие, если да;
else условие, если нет;
|
|
|

15.12.2008, 23:15
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Сообщение от GreenBear
? тут дело логики, а не регулярки.
я понимаю, просто я говорю, что будет если ту строчку вставить в то поле(как мне кажется)
|
|
|
Переменная (массив) в регулярке |

16.12.2008, 22:11
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Переменная (массив) в регулярке
Переменная (массив) в регулярке.
preg_match('/^[^ ^($badNames)].{1,12}$/', $_POST['nameUser']);
регулярки вообще бегают по массивам?
как правильно сделать, чтобы регуляркой проверялись на исключение все значения массива.
Массив типа:
PHP код:
$badNames = array(
'Admin',
'Administrator'
);
|
|
|

16.12.2008, 22:46
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Сообщение от Ru}{eeZ
Переменная (массив) в регулярке.
preg_match('/^[^ ^($badNames)].{1,12}$/', $_POST['nameUser']);
регулярки вообще бегают по массивам?
как правильно сделать, чтобы регуляркой проверялись на исключение все значения массива.
Массив типа:
PHP код:
$badNames = array(
'Admin',
'Administrator'
);
бегают, если им дать пинка
PHP код:
foreach ($badNames as $item)
{
preg_match('/^[^ ^($item)].{1,12}$/', $_POST['nameUser']);
}
|
|
|

16.12.2008, 23:03
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ru}{eeZ А что вы собственно собрались этими регулярками делать оО. Если проверять, что вводимый логин не начинается со слов в массиве, то лучше использовать strpos
PHP код:
$badNames = array(
' ',
'Admin',
'Administrator'
); //Включая пробел
foreach($badNames as $nam) if (stripos($_POST['nameUser'],$nam)===0) die('Неправильное имя');// ===0 чтобы остановиться, только если запрещенное слово в начале строки.
Последний раз редактировалось Gifts; 16.12.2008 в 23:05..
|
|
|

17.12.2008, 15:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Помогите с рекурсивной регуляркой. Есть входной текст:
Код:
<div class="a1">
<div class="b1">
<div class="c1">
sometext1
</div>
<div class="c2">
sometext2
</div>
</div>
</div>
<div class="a1">
<div class="b1">
<div class="c1">
sometext3
</div>
<div class="c2">
sometext4
</div>
</div>
</div>
Нужно получить все, что находится между <div class="a1"> и соответствующим ему </div>. Причем, для любого количества вложенных дивов
|
|
|

17.12.2008, 16:22
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Ну если тебе нужно выдернуть только sometext№№, то тогда можно так:
PHP код:
<?
preg_match_all('|<div(.*)class(.*)>(.*)</div>|Ui', $s, $result);
print_r ($result);
?>
Данные будут в $result[0][0] $result[0][1] $result[0][2] $result[0][3]
|
|
|

17.12.2008, 16:34
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Pashkela Во-первых, точка НЕ учитывает перевод строки без модификатора "s". Во вторых при вложенных, одинаковых тэгах результатом будем получать кривые данные, типа:
Код:
<div class="b1">
<div class="c1">
sometext3
И в третьих - зачем использовать подмаски, там где это мягко говоря не нужно?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|