ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #16191  
Старый 02.06.2010, 22:37
Аватар для Redwood
Redwood
Участник форума
Регистрация: 10.09.2009
Сообщений: 120
Провел на форуме:
2212846

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

1. Цифрами нельзя называть переменные
2. preg_replace
 
Ответить с цитированием

  #16192  
Старый 02.06.2010, 22:54
Аватар для DoN
DoN
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме:
110887

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

Цитата:
Сообщение от Redwood  
1. Цифрами нельзя называть переменные
2. preg_replace
$str = "ghtjjrdd345hjf";
$txt = 345;
$s = 1;
preg_replace("|$txt|",$s,$str);
echo $str;

не катит

Последний раз редактировалось DoN; 02.06.2010 в 22:57..
 
Ответить с цитированием

  #16193  
Старый 02.06.2010, 23:01
Аватар для LaVey
LaVey
Новичок
Регистрация: 27.12.2009
Сообщений: 16
Провел на форуме:
356323

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

PHP код:
echo preg_replace("|$txt|",$s,$str); 
или
PHP код:
$la preg_replace("|$txt|",$s,$str);
echo 
$la
ты же вызываешь вывод стр..
 
Ответить с цитированием

  #16194  
Старый 02.06.2010, 23:07
Аватар для 4upakabr0
4upakabr0
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме:
528944

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

1. Во-первых, если ты уверен что от формы пришло именно "123+456" в параметре s, то такой вариант вполне рабочий:
PHP код:
$_REQUEST["s"];
//echo $p; //убери первые два слеша чтобы понять что пришло от формы, ибо  + иногда режеться если приходит GET'ом
$arr explode("+",$p);
echo 
$arr[0];
echo 
$arr[1]; 
2. Вот тебе вариант с заменой. Регулялярка только ищет, она возвращает то, что попадает под шаблон. А заменяет хорошо вот что:

PHP код:
$p $_REQUEST["s"];
echo 
$p."<br>";
$src="123";
$dst="!замена!";
$newstr=str_replace($src,$dst,$p);
echo 
$newstr

Последний раз редактировалось 4upakabr0; 02.06.2010 в 23:14..
 
Ответить с цитированием

  #16195  
Старый 02.06.2010, 23:14
Аватар для DoN
DoN
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме:
110887

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

Всё) Еще один вопрос.
Как сделать ?

preg_replace("|href=...|",....);
там где = есть 3 варианта:
1) =текст
2) ='
3) ="
как сделать чтобы все 3 варианта распознавались и заменялись?
 
Ответить с цитированием

  #16196  
Старый 02.06.2010, 23:16
Аватар для 4upakabr0
4upakabr0
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме:
528944

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

Дай конкретную строку(или варианты), которую ты получаешь на входе и дай строку, которую хочешь получить на выходе.
 
Ответить с цитированием

  #16197  
Старый 02.06.2010, 23:26
Аватар для DoN
DoN
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме:
110887

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

Цитата:
Сообщение от 4upakabr0  
Дай конкретную строку(или варианты), которую ты получаешь на входе и дай строку, которую хочешь получить на выходе.
$str = 'href="site.ru';
тут после = 3 варианта
$re = 'foto.ru';
preg_replace("|href= и тут перебрать 3 вар|","href=$re",$str);
тоже 3 вар

Последний раз редактировалось DoN; 02.06.2010 в 23:28..
 
Ответить с цитированием

  #16198  
Старый 02.06.2010, 23:31
Аватар для Ins3t
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

Цитата:
Я в основном пишу софт на С++
Искренне сочувствую твоим заказчицам.
 
Ответить с цитированием

  #16199  
Старый 02.06.2010, 23:37
Аватар для DoN
DoN
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме:
110887

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

Цитата:
Сообщение от Ins3t  
Искренне сочувствую твоим заказчицам.
Я в PHP на уровне дилетанта знаю. А вот сишку прекрастно)

Писал много известых софтин. Например http analyzer
 
Ответить с цитированием

  #16200  
Старый 02.06.2010, 23:58
Аватар для 4upakabr0
4upakabr0
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме:
528944

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

Если я тебя правильно понял, то держи:
PHP код:
$str1='href="текст';
$str2='href=';
$str3='href="';
//$str4=''; //добавляй сколкьо хочешь проверок - все будет проверенно в цикле, нумеруй их как strN

$url='site.ru';
$dst="\${1}$url";
for(
$i=1;$i<=3;$i++)
{
    
$s=str.$i;
    echo 
preg_replace("/(href=)([\"|\']+)(\w*)/",$dst,$$s)."<br>";

Но учти, после href= идет либо " либо ' а потом текст
Т.е. ты хочешь отловить все попадания " или ' сразу после = и перед текстом ссылки?) Кароч, хочешь инъект не пустить?

Последний раз редактировалось 4upakabr0; 03.06.2010 в 00:23..
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ