ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

  #5761  
Старый 30.09.2008, 23:59
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

Такой вопрос есть текст
Цитата:
Если вы наш покупатель и хотите увидеть свою аську тут в списке дилеров (а наш сайт посещают довольно много потенциальных покупателей), то напомните мне о себе: я с удовольствием ее тут поставлю.
есть файл tags.txt с ссылками

Цитата:
<a href="www.vot.ru">тут</a>
<a href="www.vid.ru">вид</a>
И т.д. с анкорами слов.
PHP код:
$bodyblock=file_get_contents('text.txt');
$links=array_map('rtrim',file("tags.txt"));

$links_for_replacement=Array();
$words_to_replace=Array();

foreach(
$links as $link)
{
  
$link=str_replace("color: {$color};",null,$link);
  
$link=str_replace("font-size: {$size_ankor}px;",null,$link);
  
$link=str_replace(",",null,$link);
  if(!
$link)
    continue;

  
preg_match("/>(.+)</",$link,$word);
  if(!isset(
$word[1]))
    continue;

  
$links_for_replacement[]=$link;
  
$words_to_replace[]=$word[1];

}

$bodyblock=str_replace($words_to_replace$links_for_replacement$bodyblock); 
Этот скрипт ищет в тексте слова и заменяет их на ссылки с анкором, заменненного слова. Но допустим если у нас слово увидеть и есть в файле tags.txt ссылка с анкором вид то скрипт заменит только часть слова, будет что то типа у<a href="www.vid.ru">вид</a>еть... Как это все дело можно исправить? разбить текст на массив по слову и сравнивать?
 
Ответить с цитированием

  #5762  
Старый 01.10.2008, 00:40
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

2Zircool в регулярках есть такая полезная штуковина, которая обзываеся утверждения, которая позволяет проверять символы, следующие до или после ткущего (эт в простейшем приближении...).
Вот тебе короткое описание, если не поймеш - думаю найти инфу по ээтому вопросу не проблема:

Код:
 (?:x)  — Сопоставляется с 'x', но не запоминает совпадение. Это называется "незахватывающие скобки". Совпавшая подстрока не может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов. 
x(?=y)  —  Сопоставляется с 'x', только если после 'x' следует 'y'. Например, /Jack(?=Sprat)/ совпадает с 'Jack', только если следом идёт 'Sprat'. /Jack(?=Sprat|Frost)/ совпадает с 'Jack', только если следом идёт 'Sprat' или 'Frost'. Однако ни 'Sprat', ни 'Frost' не являются частью результатов совпадения. 
x(?!y) —   Сопоставляется с 'x', только если после 'x' не следует 'y'. Например, /\d+(?!\.)/ сопоставляется с числом, только если следом не идёт десятичная точка. Так, например, /\d+(?!\.)/.exec("3.141") совпадает с 141, но не совпадает с 3.141.
Здесь описаны так называемые "смотрящие вперед" утверждения. Аналогично есть "смотрящие назад" утверждения, с той лишь разнцей, что обозначается
(?<=
и
(?<!
соответственно.
 
Ответить с цитированием

  #5763  
Старый 01.10.2008, 08:48
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

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

Народ подскажите плиз как в пхп можно сделать бан по Ip
 
Ответить с цитированием

  #5764  
Старый 01.10.2008, 09:42
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


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

с помощью if
 
Ответить с цитированием

  #5765  
Старый 01.10.2008, 09:50
.:nbd:.
Познающий
Регистрация: 27.07.2008
Сообщений: 98
Провел на форуме:
405792

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

PHP код:
<?php
if ($_SERVER['HTTP_X_FORWARDED_FOR']=='127.0.0.1' || $_SERVER['REMOTE_ADDR']=='127.0.0.1') {header('Location: http://google.ru');}
?>
так например

Ипы забаненых можно хранить в файле или базе, переписать скрипт для этого дело пары минут. Но принцип примерно такой.

Последний раз редактировалось .:nbd:.; 01.10.2008 в 09:57..
 
Ответить с цитированием

  #5766  
Старый 01.10.2008, 10:34
Gadik
Участник форума
Регистрация: 29.05.2006
Сообщений: 148
Провел на форуме:
1159891

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

Добрый день. Скажите пожалуйста какой командой можно запретить вывод ошибок на экран?

Заранее спасибо.
 
Ответить с цитированием

  #5767  
Старый 01.10.2008, 11:33
Gadik
Участник форума
Регистрация: 29.05.2006
Сообщений: 148
Провел на форуме:
1159891

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

аха. спасибо, получилось
 
Ответить с цитированием

  #5768  
Старый 01.10.2008, 14:25
xaldey
Новичок
Регистрация: 07.11.2006
Сообщений: 20
Провел на форуме:
299123

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

mmcache_load можна както роскодировать?
 
Ответить с цитированием

  #5769  
Старый 01.10.2008, 15:42
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

Еще один вопросик, есть массив ссылок

Цитата:
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_skidkoy41.php">скидкой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_garantiruete23.php">гарантируете</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_hostinga44.php">хостинга</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_cenoy25.php">ценой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_samim1.php">самим</a>,
как из такого массива удалить ссылку с одинкаовым анкором, к примеру у нас есть ссылка

Цитата:
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
и есть

Цитата:
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
Путь ссылок разный но анкоры одинаковые, так вот как можно удалить из списка ссылки с одинаковыми анкорами, оставив только одну?
 
Ответить с цитированием

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

Репутация: 1304


По умолчанию

Zircool,
PHP код:
preg_match_all('#<[^>]*>([^<>]*)[^\r\n]*#i',implode("\r\n",$a),$match);
$tmp=array_combine($match[0],$match[1]);
$out=array_keys(array_unique($tmp));
print_r($out); 

Последний раз редактировалось Gifts; 01.10.2008 в 16:28..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ