За последние 24 часа нас посетили 71489 программистов и 3030 роботов. Сейчас ищут 1424 программиста ...

функция codeurl в preg_replace как включить в работу?

Тема в разделе "PHP для новичков", создана пользователем Scogzhe, 4 май 2015.

  1. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    Код (PHP):
    1. $text = preg_replace( '#(https?://|www\.)([-a-z0-9+._%:/?=\#\&]+)#i', "<a rel='nofollow' href='http://site.com/go.html?link=".codeurl('$1$2')."'>$1$2</a>", $text); 
     
  2. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
  3. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    не пашет
    типа так чтоле?

    Код (PHP):
    1. $patternleft = '<a rel=nofollow href=http://site.com/go.html?link=';
    2.  
    3. $pattern = "$1$2";
    4.  
    5. $pattern = mysql_real_escape_string ($pattern);
    6.  
    7. $pattern = codeurl($pattern);
    8.  
    9. $patternright = '>$1$2</a>';
    10.                     
    11.  $text = preg_replace( '#(https?://|www\.)([-a-z0-9+._%:/?=\#\&]+)#i', $patternleft.$pattern.$patternright, $text);
     
  4. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Глазами читай, а не задним местом.
     
  5. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    А чем заменить можно безопасным?
     
  6. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    preg_replace_callback
     
  7. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    не пашет

    Код (PHP):
    1. $patternleft = '<a rel=nofollow href=http://site.com/go.html?link=';
    2.  
    3. $pattern = "$1$2";
    4.  
    5. // $pattern = mysql_real_escape_string ($pattern);
    6.  
    7. $pattern = codeurl($pattern);
    8.  
    9. $patternright = '>$1$2</a>';
    10.                     
    11.  $text = preg_replace_callback( '#(https?://|www\.)([-a-z0-9+._%:/?=\#\&]+)#i', codeurl($patternleft.$pattern.$patternright), $text);
    12.   
     
  8. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    И это пишет человек:
    <матное слово>, читай документацию...
    Ты такую хуйню написал, честное слово.
    Мало того, что ты не предоставил что такое codeurl, так еще и шнягу тулишь...
     
  9. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  10. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    Код (PHP):
    1. function codeurl($string) {
    2.     $converter2 = array(
    3.         'q' => 'm',   
    4.         'w' => 'n',  
    5.         'e' => 'b',   
    6.         'r' => 'v',
    7.         't' => 'c',   
    8.         'y' => 'x',
    9.         'u' => 'z',  
    10.         'i' => 'l',
    11.         'o' => 'k',   
    12.         'p' => 'j',  
    13.         'a' => 'h',  
    14.         's' => 'g',   
    15.         'd' => 'f',  
    16.         'f' => 'd', 
    17.         'g' => 's',  
    18.         'h' => 'a',   
    19.         'j' => 'p',  
    20.         'k' => 'o', 
    21.         'l' => 'i',
    22.         'z' => 'u',   
    23.         'x' => 'y',  
    24.         'c' => 't',  
    25.         'v' => 'r',   
    26.         'b' => 'e',  
    27.         'n' => 'w', 
    28.         'm' => 'q',
    29.         '/' => '1',  
    30.         ':' => '2', 
    31.         '.' => '3',          
    32.         
    33.         
    34.     );
    35.     return strtr($string, $converter2);
    36. }
    Добавлено спустя 1 минуту 59 секунд:
    Смысл в том, чтобы шифровать ссылки на сайте в /go.html?link=hosdfosdhfosiduoisudfoihsd а потом дешифровывать их.
     
  11. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Призываю сюда суриката и картинку мужика с костылями )
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет. На ТАКОЙ случай у меня картинки нет, наверное. Хотя...

    Добавлено спустя 40 секунд:
    Во, что-то, более менее описывающее эмоции, которые я испытываю, глядя на это:
    [​IMG]

    Добавлено спустя 1 минуту 40 секунд:
    И что это даст, карл?
     
  13. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    Такая задачка не для слабеньких.
     
  14. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    бугагага. прям в голос, нельзя так, у меня племяшка спит.
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Надеюсь это была самоирония, а не показатель твоего уровня.
     
  16. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Ты прям знаток.
    [​IMG]
     
  17. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Ладно походу наш профи убился и не смог решить вопрос:
    Код (PHP):
    1. preg_replace_callback('#(https?://|www\.)([-a-z0-9+._%:/?=\#\&]+)#i',function($matches) {
    2.     print_r($matches);
    3.     // тут  можешь толкать уже в свою ужас нах функцию... Никчемную до ужас нах.
    4. },$str); 
    Регулярку не тестил но на вид убогая до ужас нах.