Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.06.2010, 22:37
|
|
Участник форума
Регистрация: 10.09.2009
Сообщений: 120
Провел на форуме: 2212846
Репутация:
56
|
|
1. Цифрами нельзя называть переменные
2. preg_replace
|
|
|

02.06.2010, 22:54
|
|
Познающий
Регистрация: 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..
|
|
|

02.06.2010, 23:01
|
|
Новичок
Регистрация: 27.12.2009
Сообщений: 16
Провел на форуме: 356323
Репутация:
0
|
|
PHP код:
echo preg_replace("|$txt|",$s,$str);
или
PHP код:
$la = preg_replace("|$txt|",$s,$str);
echo $la;
ты же вызываешь вывод стр..
|
|
|

02.06.2010, 23:07
|
|
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме: 528944
Репутация:
4
|
|
1. Во-первых, если ты уверен что от формы пришло именно "123+456" в параметре s, то такой вариант вполне рабочий:
PHP код:
p = $_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..
|
|
|

02.06.2010, 23:14
|
|
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме: 110887
Репутация:
19
|
|
Всё) Еще один вопрос.
Как сделать ?
preg_replace("|href=...|",....);
там где = есть 3 варианта:
1) =текст
2) ='
3) ="
как сделать чтобы все 3 варианта распознавались и заменялись?
|
|
|

02.06.2010, 23:16
|
|
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме: 528944
Репутация:
4
|
|
Дай конкретную строку(или варианты), которую ты получаешь на входе и дай строку, которую хочешь получить на выходе.
|
|
|

02.06.2010, 23:26
|
|
Познающий
Регистрация: 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..
|
|
|

02.06.2010, 23:31
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Я в основном пишу софт на С++
Искренне сочувствую твоим заказчицам.
|
|
|

02.06.2010, 23:37
|
|
Познающий
Регистрация: 26.05.2010
Сообщений: 48
Провел на форуме: 110887
Репутация:
19
|
|
Сообщение от Ins3t
Искренне сочувствую твоим заказчицам.
Я в PHP на уровне дилетанта знаю. А вот сишку прекрастно)
Писал много известых софтин. Например http analyzer
|
|
|

02.06.2010, 23:58
|
|
Познающий
Регистрация: 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..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|