HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #81  
Старый 15.12.2008, 22:57
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме:
956872

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию

надо что-то типа:
|.+[^http^https^ftp]*.+|
 
Ответить с цитированием

  #82  
Старый 15.12.2008, 22:58
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию

Вот так написал ^[а-я][А-Я]* и теперь в поле Имя Фамилия нельзя записать адрес сайта...
 
Ответить с цитированием

  #83  
Старый 15.12.2008, 23:03
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

if (preg_match('/\\b(http:\/\/|)([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\\?[-A-Z0-9+&@#\/%=~_|!:,.;]*)?/i', $subject, $res)) условие, если да;
else условие, если нет;
 
Ответить с цитированием

  #84  
Старый 15.12.2008, 23:15
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от GreenBear  
? тут дело логики, а не регулярки.
я понимаю, просто я говорю, что будет если ту строчку вставить в то поле(как мне кажется)
 
Ответить с цитированием

Переменная (массив) в регулярке
  #85  
Старый 16.12.2008, 22:11
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме:
956872

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию Переменная (массив) в регулярке

Переменная (массив) в регулярке.
preg_match('/^[^ ^($badNames)].{1,12}$/', $_POST['nameUser']);

регулярки вообще бегают по массивам?
как правильно сделать, чтобы регуляркой проверялись на исключение все значения массива.
Массив типа:
PHP код:
$badNames = array(
'Admin',
'Administrator'
); 
 
Ответить с цитированием

  #86  
Старый 16.12.2008, 22:46
ntldr
Постоянный
Регистрация: 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']);

 
Ответить с цитированием

  #87  
Старый 16.12.2008, 23:03
Gifts
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..
 
Ответить с цитированием

  #88  
Старый 17.12.2008, 15:30
Gifts
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>. Причем, для любого количества вложенных дивов
 
Ответить с цитированием

  #89  
Старый 17.12.2008, 16:22
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Ну если тебе нужно выдернуть только 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]
 
Ответить с цитированием

  #90  
Старый 17.12.2008, 16:34
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Pashkela Во-первых, точка НЕ учитывает перевод строки без модификатора "s". Во вторых при вложенных, одинаковых тэгах результатом будем получать кривые данные, типа:
Код:
<div class="b1">
		<div class="c1">
			sometext3
И в третьих - зачем использовать подмаски, там где это мягко говоря не нужно?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/Wi-Fi/Wardriving 2 02.11.2008 00:40



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ