|
|
|
| Доброго времени суток, помогите пожалуйста закодировать переменную url в base64
<?
preg_replace('#((?:http|https):\/\/[^\s]+)#i','<a href="go.php?url=$1">$1</a>', $str);
?>
|
| |
|
|
|
|
|
|
|
для: f@ntom
(28.11.2010 в 17:54)
| | Нужно использовать preg_replace_callback(). | |
|
|
|
|
|
|
|
для: Саня
(28.11.2010 в 18:45)
| |
<?
$txt = "http://www.google.com/search?client=opera&rls=ru&q=%D1%87%D1%81%D0%B8%D1%81%D0%BC%D0%B8&sourceid=opera&ie=utf-8&oe=utf-8";
function url($in){
return preg_replace_callback('#((\?\:http|https)\:\/\/[^\s]+)#i','url_replace',$in);
}
function url_replace($m){
return '<a href="go.php?url='.base64_encode($m[4]).'">'.$m[20].'</a>';
}
echo url_replace($txt);
?>
|
Извиняюсь за глупость, что я не правильно делаю ))) | |
|
|
|
|
|
|
|
для: f@ntom
(28.11.2010 в 20:36)
| | навскидку два вопроса.
1. ограничение адреса в шаблоне - пробельный символ. В исходной строке никаких пробельных симворлов не видно.
2. откуда такие странные индексы массива результата $m[4] и $m[20] ? | |
|
|
|
|
|
|
|
для: Trianon
(28.11.2010 в 20:55)
| | Метод тыка ((((((((((((( | |
|
|
|
|
|
|
|
для: f@ntom
(28.11.2010 в 20:58)
| |
<?
function url($in){
return preg_replace_callback('#((?:http|https):\/\/[^\s]+)#i','url_replace',$in);
}
function url_replace($m){
return '<a href="go.php?url='.base64_encode($m[0]).'">'.$m[0].'</a>';
}
echo url($txt);
?>
|
Работает, спасибо ) | |
|
|
|
|
|
|
|
для: f@ntom
(28.11.2010 в 21:24)
| | Дырка тут.
<?
$txt = 'http://<script>alert(document.cookie)</script>';
|
| |
|
|
|
|
|
|
|
для: Николай2357
(28.11.2010 в 23:08)
| | Неа, html'ится ) | |
|
|
|
|
|
|
|
для: f@ntom
(28.11.2010 в 23:27)
| | где? | |
|
|
|