ФорумПрограммированиеPHP для идиотов → preg_replace заменить href у внутренних ссылок, кроме внешних ссылок

preg_replace заменить href у внутренних ссылок, кроме внешних ссылок

  • prodigy

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz Ноя. 13, 2012, 8:37 п.п.

    $text = preg_replace('~<a href=\"[^(?:https?|mailto)]~isu', '<a href="' . $scripturl . '?page=', $text);


    не фурычит, пол дня ебусь, help
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Ноя. 13, 2012, 9:06 п.п., спустя 28 минут 30 секунд

    prodigy, через callback делай, удобнее.
    Сапожник без сапог
  • prodigy

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz Ноя. 14, 2012, 10:28 д.п., спустя 13 часов 22 минуты 27 секунд

    сделал вот так:


    if (empty($_REQUEST['page']))
    $page = 'index';
    elseif (strpos($_REQUEST['page'], 'http') === 0 || strpos($_REQUEST['page'], 'mailto') === 0)
    redirectexit($_REQUEST['page']);
    else
    $page = $_REQUEST['page'];



    prodigy, через callback делай, удобнее.


    хм, надо попбробовать - там через preg_match проверять?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!