Страница 1 из 1

Автоматическое подставление редиректа под внешние ссылки

Добавлено: 16 апр 2009, 21:28
Draft
На днях научился юзать регулярные выражения ( :D ) и написал скриптик для автоматической замены исходящих ссылок при добавлении сообщения на форуме (только на другие сайты). Думаю понравится тем, кто знает какой вред наносят большое кол-во исходящих (внешних) ссылок на поисковые системы.

Установка:
Идем в форум -> Форма добавления сообщения
Ищем там что-то типа

Код: Выделить всё

<input type="submit" id="frF16" name="sbm" style="width:150px;font-weight:bold;" class="postSubmit" value="$SUBMIT_SIGN$" />

Заменяем на
<script type="text/javascript">
// Script by Draft - http://www.softers.ru/
function preposting() {
mtxt=document.getElementById('message').value;
if(mtxt.indexOf('http://')>-1) {
urlreg=/http:\/\/[a-z0-9\S]*[\s]{0,1}/gi;
for(i=0;i<mtxt.match(urlreg).length;i++) {
if(mtxt.match(urlreg)[i].indexOf('softers.ru')==-1) {
urls_regs=mtxt.match(urlreg)[i];
mtxt=mtxt.replace(urls_regs,'http://www.softers.ru/redirect.htm?'+urls_regs);}}
document.getElementById('message').value=mtxt;}
document.getElementById('submit_button').click();}
</script>
<input id="submit_button" style="display:none" name="sbm" type="submit" value="$SUBMIT_SIGN$" /> <input id="sbm_bt" type="button" onclick="preposting()" style="width:150px;font-weight:bold;" class="postSubmit" value="$SUBMIT_SIGN$" />


Синее меняем на свое.
P.S. страницу редиректа делайте сами или берите отсюда.

Re: Автоматическое подставление редиректа под внешние ссылки

Добавлено: 16 апр 2009, 22:30
Zeppter
Изображение
:D :D :D

Re: Автоматическое подставление редиректа под внешние ссылки

Добавлено: 16 апр 2009, 22:30
Vanofuture
Draft писал(а):urlreg=/http:\/\/[a-z0-9\S]*[\s]{0,1}/gi;

хм...я бы сделал так:

Код: Выделить всё

/http:\/\/\S+\s?/ig;

Draft писал(а):function preposting() {

Читаем...

Re: Автоматическое подставление редиректа под внешние ссылки

Добавлено: 16 апр 2009, 22:57
Vanofuture
А вообще...

Код: Выделить всё

<script type="text/javascript">
function checksubmit(){ // Vanofuture [xcinema.net]
document.addform.message.value=(' '+document.addform.message.value).replace(/\[url\=(http:\/\/(www\.)?(?!xcinema\.net)\S+)\](.+)\[\/url\]/ig,'[url=http://xcinema.net/redir.html?url=$1]$3[/url]').replace(/\s(http:\/\/(www\.)?(?!xcinema\.net)\S+\s?)/ig,'http://xcinema.net/redir.html?url=$1');return true;}
</script>

Re: Автоматическое подставление редиректа под внешние ссылки

Добавлено: 28 фев 2011, 21:19
info
Эмм... А можно ли сделать то же самое, только без этих затрапезных промежуточных страниц при редиректе? Чтобы нажимая на такую внешнюю ссылку-редирект, сразу перенаправляло на другой сайт. И не только для форума, а для любых внешних ссылок сайта.