гг.. Есть спецы по регуляркам?

476
.
Быдлокодер (29.04.2011/20:00)
попробуй ссылки эти писать так: <a href="http://site.ru/index.php?mod=blabla&act=blabla">
/forum/viewtopic не добавится по идеи..
Извинюсь, что влез. Я конечно не кодер, но если для ''двига'' то лучше будет $_SERVER['HTTP_HOST'] использовать вместо site.ru или какую-нибудь другую ''хрень''
.
Быдлокодер (29.04.2011/20:20)
/index.php?mod=blabla&act=blabla в данном случае)
хотя ИМХО мне больше симпотизирует полный адрес..
ну да так, / так короче все таки
а переписать все ссылки автор кстати мог бы на лету;) все той же регуляркой подставляя в начале чпу-урла / или адрес сайта
.
Быдлокодер, Просто в JohnCMS встречается адрес сайта (johncms.com), чтоб всё исправить - приходится весь архив пересмотреть и сделать исправления.
Я не продвинутый пользователь, вот и исправлять приходится ''руками''
.
Ждон Два Топора
так, асилил наконец. Вдруг кому коснетца, оно есть.
Собствено функцыя обработки ссылки:
function rewrite_url($var) {
        global $homeurl;
        $var = preg_replace('#\"index.php\?mod=(.+?)&amp;act=(.+?)&amp;id=(.+?)&amp;page=(.+?)\"#si', '"'.$homeurl.'/\1/\2/\3/\4.html"', $var);
        $var = preg_replace('#\"index.php\?mod=(.+?)&amp;act=(.+?)&amp;id=(.+?)\"#si', '"'.$homeurl.'/\1/\2/\3.html"', $var);
        $var = preg_replace('#\"index.php\?mod=(.+?)&amp;act=(.+?)\"#si', '"'.$homeurl.'/\1/\2.html"', $var);
        $var = preg_replace('#\"index.php\?mod=(.+?)\"#si', '"'.$homeurl.'/\1.html"', $var);
        return $var;
    }

($homeurl задан, адрес сайта) .

Строчки в хтакцесс:
RewriteEngine On
Options +FollowSymlinks
RewriteCond   %{REQUEST_FILENAME}       !-d
RewriteCond   %{REQUEST_FILENAME}       !-f
RewriteRule ^([^/]*)\.html$ index.php?mod=$1 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2&id=$3 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ index.php?mod=$1&act=$2&id=$3&page=$4 [QSA,L]

Ну и в нужном месте вызываем функцию:
echo $rewrite_on ? rewrite_url($content) : $content;

($rewrite_on указавает, обрабатывать сцылки иле нет)
.
Ждон Два Топора
мугого, с такими регулярками ололо пыщ пыщ получаетца, функцыя весь текст режет, походу нада резать как то так
$var = preg_replace('#\"index.php\?mod=(\w+)&amp;act=(\w+)&amp;id=(\w+)&amp;page=(\w+)\"#si', '"'.$homeurl.'/\1/\2/\3/\4.html"', $var);
.
john77 (30.04.2011/23:24)
мугого, с такими регулярками ололо пыщ пыщ получаетца, функцыя весь текст режет, походу нада резать как то так[php]$var = preg_replace('#\"index.php\?mod=(\w+)&amp;act=(\w+)&amp;id=(\w+)&amp;page=(\w+
ты вместо " кавычек &quot; не пробовал? У тебя ссылки как то странно получается обрабатываются " а дальше &amp; и вообще &amp; каждый символ и буква обработаются
.
john77
Ждон Два Топора
Krite (30.04.2011/23:44)
ты вместо " кавычек &quot; не пробовал? У тебя ссылки как то странно получается обрабатываются " а дальше &amp; и вообще &amp; каждый символ и буква обработаются
не, ща нормальна все, я кой какие маны покурил, вот ето (\w+) как раз режет как нада, ето буквы цыфры и ещо кой какие символы типа дефиса, один и более. А первый раз оно резало гг через всю страницу от кавычек до кавычек. А &amp; не обробляетца, оно ж задано как пределы
.
Кто хорошо знаком с регулярками, подскажите как вырезать ссылки вида http://f04.spaces.ru/f/5218022 ... u.mp3 , и заменить их на md5('http://f04.spaces.ru/f/521802213632/1315385009/10167368/0/21d556b40174bee8208c545cf4d20e72/Fly_Project_-_Mandala-spaces_ru.mp3'); ?
Нужно чтоб регулярка вырезала имено такие ссылки
.
Еще все подобные ссылки нужно собрать в массив с помощью preg_match_all(); но я не могу правильно составить шаблон
.
Что никто незнает?
Всего: 35