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

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

  • prodigy

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

    Spritz 13 ноября 2012 г. 20:37

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


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

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

    Spritz 13 ноября 2012 г. 21: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 проверять?

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