Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сделать ссылку в тексте кликабельной, внутри определенного тега 
V
    Опции темы
nule
Дата 5.11.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Приветствую!
Задача сделать кликабельными ссылки внутри тега td класса "code".
Код

function codelinks() {
var tdclasses = document.getElementsByTagName("td"); 
codes = new Array();
for (i=0; i<tdclasses.length; i++ )
if (tdclasses[i].className == "code"){
codes.push(tdclasses[i]);
}
//сформировали массив из td "code"

codeshtml= new Array();
for (j=0; j<codes.length; j++ )
codeshtml.push(codes[j].innerHTML);
//сформировали массив из html внутри td "code"
var ss=/(http:\/\/.+\.[a-z]{2,3})/gi;
for (k=0; k<codeshtml.length; k++ )
document.getElementsByTagName("td").innerHTML=codeshtml[k].replase(ss, "<a href='$1'>$1</a>");//тут всякая отсебятина
 }
   window.onload = codelinks;

Не могу правильно сформулировать последнюю строку, помеченную как отсебятина. :(
Помогите пожалуйста.
Спасибо!
PM MAIL   Вверх
Amphiluke
Дата 5.11.2011, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(nule @  5.11.2011,  20:20 Найти цитируемый пост)
.replase

Что за метод? smile 
PM   Вверх
nule
Дата 5.11.2011, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата(Amphiluke @ 5.11.2011,  19:41)
Цитата(nule @  5.11.2011,  20:20 Найти цитируемый пост)
.replase

Что за метод? smile

Да, метод действительно хреновенький smile 
Т.е. должно работать?
PM MAIL   Вверх
Evghenusi
Дата 5.11.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



nule, Amphiluke тебе намекает, что надо быть внимательнее, так как в очередной раз ты допускаешь ошибки при написании методов.

.replaCe 
PM WWW   Вверх
nule
Дата 5.11.2011, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата(Evghenusi @ 5.11.2011,  20:18)
nule, Amphiluke тебе намекает, что надо быть внимательнее, так как в очередной раз ты допускаешь ошибки при написании методов.

.replaCe

В этот раз я понял с первого раза smile
PM MAIL   Вверх
Evghenusi
Дата 5.11.2011, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



Цитата(nule @  5.11.2011,  19:48 Найти цитируемый пост)
Да, метод действительно хреновенький 

хотя если это предложение подразумевает, что ты понял ошибку то пардон.

поясни пожалуйста что должна делать следующая строка:
document.getElementsByTagName("td").innerHTML=

Добавлено через 35 секунд
не успел)
PM WWW   Вверх
nule
Дата 5.11.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Это я подглядел вот в этой теме: http://forum.vingrad.ru/topic-286021.html
Я так понимаю, при помощи innerHTML надо представить содержимое контейнеров в виде html-кода и заменить в нем найденные ранее ссылки на модифицированные, с href=
PM MAIL   Вверх
Evghenusi
Дата 5.11.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



даже не знаю как объяснить, но getElementsByTagName("td") выдаст массив всех тегов td которые существуют на странице, то есть если две таблицы и в каждой 20 ячеек, то этот метод найдёт 40 ячеек.

вот и получается: массив(в котором все td).innerHTML=   и ты разом всем ячейкам пытаешься поменять значение. Такое не прокатит.

прошу прощение за кривое объяснение)

Добавлено @ 20:45
Цитата(nule @  5.11.2011,  20:29 Найти цитируемый пост)
Это я подглядел вот в этой теме: http://forum.vingrad.ru/topic-286021.html


Цитата(Amphiluke @  2.1.2010,  11:53 Найти цитируемый пост)

Код

....
document.getElementsByTagName("body")[0].innerHTML =
....


Amphiluke выбрал первый элемент массива - ....("body")[0].inn...., ты же пытался работать сразу со всеми элементами

Это сообщение отредактировал(а) Evghenusi - 5.11.2011, 20:46
PM WWW   Вверх
Evghenusi
Дата 5.11.2011, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



надеюсь правильно понял автора, и код получился не слишком кривой.
готовый пример, что бы скопировать и протестить)
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            function codelinks()
            {
                var table = document.getElementById('my');
                var td = table.getElementsByTagName('td');
                var j = 0;
                
                for(var i=0; i<td.length; i++)
                {
                    if(td[i].className == 'code')
                    {
                        if(!td[i].getElementsByTagName('a').length)
                        {
                            td[i].innerHTML='<a href="'+td[i].innerHTML+'">хз_'+j+'</a>';
                            j++;
                        }
                    }
                }
                
            }
        </script>
    </head>
    <body>
        <table id="my" border="1">
            <tr>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
            </tr>
            <tr>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
            </tr>
            <tr>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
            </tr>
            <tr>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
            </tr>
        </table>
        <input type="button" onclick="codelinks()" value="поехали))" />
    </body>
</html>


Добавлено через 1 минуту и 39 секунд
Цитата
Планировалось, что все эти интересующие ссылки будут только в тегах td class="code". 
Но всё идет к тому, что они будут и в других местах.


ну если идёт  smile , то убрать проверку if(td[i].className == 'code')
PM WWW   Вверх
nule
Дата 5.11.2011, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата

ну если идёт   , то убрать проверку if(td[i].className == 'code')

Да, но в этом случае текстовые ссылки не будут отделены от нормальных ссылок тегами. Во всем документе регулярные выражения найдут и кликабельные и некликабельные ссылки. Как их различить?
PM MAIL   Вверх
Evghenusi
Дата 5.11.2011, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



if(!td[i].getElementsByTagName('a').length)

смотри код, всё есть

Добавлено через 1 минуту и 5 секунд
скопировать код готовой страницы и протестить не вариант?
PM WWW   Вверх
Evghenusi
Дата 5.11.2011, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



Цитата(nule @  5.11.2011,  22:24 Найти цитируемый пост)
 Во всем документе регулярные выражения найдут и кликабельные и некликабельные ссылки.
думал РВ ненужны, но если в ячейках будут не только ссылки, но и текст, то тогда без них наверно не обойтись.

предлагаю: 
Код
var re = /http:\/\/[a-z0-9-.]+\.[a-z]{2,3}.+/ig;
но готовый пример выкладывать не буду, иначе у автора пропадёт интерес к решению задачки  smile 
PM WWW   Вверх
nule
Дата 6.11.2011, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Проанализировав возможные варианты тегов в исходном документе, составил удовлетворительную комбинацию на основе предложенного Evghenusi варианта. За что ему отдельное спасибо!
Также пришлось ввести регулярное выражение. Но опять не всё гладко.
Код

for(var i=0; i<td.length; i++)
{
   if(!td[i].getElementsByTagName('a').length)
{
document.getElementsByTagName("td")[i].innerHTML = td[i].innerHTML.replace(re, '<a href="$1">$1</a>');
}
}

Не работает '<a href="$1">$1</a>'. Замена происходит буквально, т.е. вместо текста ссылки получаем кликабельную $1, которая ссылается на $1. Почему так? 
PM MAIL   Вверх
$дмитрий
Дата 6.11.2011, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



С одинарными кавычками всегда так
PM MAIL   Вверх
Evghenusi
Дата 6.11.2011, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 3
Всего: 15



Цитата($дмитрий @  6.11.2011,  19:09 Найти цитируемый пост)
С одинарными кавычками всегда так 
можно подробнее? я суть не уловил


nule, чью регулярку использовал?
снова наблюдаю:
Цитата
document.getElementsByTagName("td")[i].innerHTML = td[i].innerHTML.replace(re, '<a href="$1">$1</a>');
и чёт нервничать начинаю  smile 

ладно, не буду томить, предлагаю такое решение:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            function codelinks()
            {
                var table = document.getElementById('my');
                var td = table.getElementsByTagName('td');
                var j = 0;
                var re = /http:\/\/[a-z0-9-.]+\.[a-z]{2,3}.+/ig;
                
                
                
                for(var i=0; i<td.length; i++)
                {
                    if(td[i].className == 'code' || td[i].innerHTML.match(re))
                    {
                        if(!td[i].getElementsByTagName('a').length)
                        {
                            td[i].innerHTML='<a href="'+td[i].innerHTML+'">хз_'+j+'</a>';
                            j++;
                        }
                    }
                }
                
            }
        </script>
    </head>
    <body>
        <table id="my" border="1">
            <tr>
                <td class="code">http://www.rapidshare.com/files/1439011131/New_folder__2_.rar</td>
                <td>dsvsdv</td>
                <td>http://www.rapidshare.com/files/1439011131/New_folder__3_.rar</td>
                <td>vsdvsdv</td>
            </tr>
        </table>
        <input type="button" onclick="codelinks()" value="поехали))" />
    </body>
</html>
nule, скопируй весь пример и запусти в браузере, после уже "составляй удовлетворительную комбинацию"  smile 

Это сообщение отредактировал(а) Evghenusi - 6.11.2011, 19:29
PM WWW   Вверх
nule
Дата 7.11.2011, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Не только запускал, но и изучал.
Добавил регулярку, т.к. может присутствовать произвольный текст.
И вот почти конечный вариант:
Код

var td = document.getElementsByTagName("td");
var re = /https?\:\/\/w*\.*(?:rapidshare|filesonic)\.(?:com|net)[\w\d:#@%/;$()~_?\+-=\\\.&]*/gi
urls = new Array();
for (i=0; i<td.length; i++ ){
if (td[i].className == "code"){
if(!td[i].getElementsByTagName("a").length){
while ((urls = re.exec(td[i].innerHTML))!= null){
td[i].innerHTML=td[i].innerHTML.replace(re, '<a href="$1">$1</a>');
}
}
}
}

Работает, как мне надо, за исключением всё того же момента. Ссылки заменяет не на ссылки, а на $1. Кавчки я разные пробовал в разных комбинациях.
$дмитрий, не могли бы Вы уточнить ваш ответ на этот вопрос?
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



nule, чтобы заработало замени регулярку
Код

var re = /(https?\:\/\/w*\.*(?:rapidshare|filesonic)\.(?:com|net)[\w\d\:#@%/;$()~_?\+-=\\\.&]*)/gi

Про кавычку - недосып smile

Это сообщение отредактировал(а) $дмитрий - 8.11.2011, 07:28
PM MAIL   Вверх
nule
Дата 8.11.2011, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата($дмитрий @ 8.11.2011,  07:26)
nule, чтобы заработало замени регулярку
Код

var re = /(https?\:\/\/w*\.*(?:rapidshare|filesonic)\.(?:com|net)[\w\d\:#@%/;$()~_?\+-=\\\.&]*)/gi

Про кавычку - недосып smile

Спасибо, понял. Запоминающие скобки.
Но теперь новая напасть.
Код

var re = /https?(\:\/\/w*\.*(?:rapidshare|filesonic)[\w\d:#@%/;$()~_?\+-=\\\.&]*)/gi

Вот так выводит нормально (без http, разумеется).
Если же вять в скобки всё выражение то сценарий заклинит, а на экран вывалится
Код

    https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a">https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a>">https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3E>">https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3E%3C/a">https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a%3C/a>>">https://rapidshare.com/files/1439011131/New_folder__2_.rar%3C/a%3C/a%3C/a%3C/a%3C
............................................................................................................................................и т.д.

Если же в скобки взять только https?(\:\/\/w*\.* то тоже всё нормально.
Это можно как-то объяснить?
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 13:20 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



nule, экранируй двоеточие
PM MAIL   Вверх
nule
Дата 8.11.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата($дмитрий @ 8.11.2011,  13:20)
nule, экранируй двоеточие

Вы имеете ввиду двоеточие в этом выражении [\w\d:#@%/;$()~_?\+-=\\\.&]?
\: не помогает.
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Код

var re = /https?\:\/\/(w*\.*(?:rapidshare|filesonic)\.(?:com|net)[\w\d\:#@%/;$()~_?\+-=\\\.&]*)/gi;

PM MAIL   Вверх
nule
Дата 8.11.2011, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Не помогает. Тоже самое.
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Запости итоговый код
PM MAIL   Вверх
nule
Дата 8.11.2011, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="ltr">
<head>
</head>
<body style="height: 100%;">
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td><span class="genmed"><strong>Code:</strong></span></td>
<td class="code">https://rapidshare.com/files/1439011131/New_folder__2_.rar ggfffffffffffff
http://rapidshare.net hthjhtt</td> 
<td class="code">https://www.filesonic.com/files/1439011131/New_folder__2_.rar</td>
<td class="code">httttttth http://rapidshare.com/files ytthn jjjjjj <a name="top" id="top"></a></td>
</tr>
<tr>
</td></tr></table>

<script LANGUAGE="JavaScript"> 

// function codelinks()
//{
var td = document.getElementsByTagName("td");
var re = /https?\:\/\/w*\.*(?:rapidshare|filesonic)[\w\d:#@%/;$()~_?\+-=\\\.&]*/gi;
urls = new Array();
for (i=0; i<td.length; i++ ){
if (td[i].className == "code"){
if(!td[i].getElementsByTagName("a").length){
while ((urls = re.exec(td[i].innerHTML))!= null){
td[i].innerHTML=td[i].innerHTML.replace(re, '<a href="$1">$1</a>');
}
}
}
}
//}
//window.onload = codelinks;

</SCRIPT>
</body></html>

Вот всё что есть.
PM MAIL   Вверх
Lols
Дата 8.11.2011, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



У меня какая-то ерунда получается при тестировании...
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Лови
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="ltr">
<head>
</head>
<body style="height: 100%;">
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td><span class="genmed"><strong>Code:</strong></span></td>
<td class="code">https://rapidshare.com/files/1439011131/New_folder__2_.rar ggfffffffffffff
http://rapidshare.net hthjhtt</td>
<td class="code">https://www.filesonic.com/files/1439011131/New_folder__2_.rar</td>
<td class="code">httttttth http://rapidshare.com/files ytthn jjjjjj <a name="top" id="top"></a></td>
</tr>
<tr>
</td></tr></table>
<script LANGUAGE="JavaScript">
// function codelinks()
//{
var td = document.getElementsByTagName("td");
var re = /(https?\:\/\/)(w*\.*(?:rapidshare|filesonic)[\w\d\:#@%/;$()~_\?\+\-=\\\.&]*)/gi;
urls = new Array();
for (i=0; i<td.length; i++ ){
    if (td[i].className == "code"){
        if(!td[i].getElementsByTagName("a").length){
            //while ((urls = re.exec(td[i].innerHTML))!= null){
                td[i].innerHTML=td[i].innerHTML.replace(re, '<a href="$1$2">$2</a>');
            //}
        }
    }
}
//}
//window.onload = codelinks;
</SCRIPT>
</body></html>

PM MAIL   Вверх
nule
Дата 8.11.2011, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Огромное спасибо! Всё работает. While действительно был лишним. Это был пережиток предыдущих так сказать версий.
Кстати, без этого цикла ухищрения $1$2 уже не нужны. Прекрасно работает одна пара запоминающих скобок.

Добавлено через 7 минут и 31 секунду
Цитата(Lols @ 8.11.2011,  17:53)
У меня какая-то ерунда получается при тестировании...

Так там ерунда и получалась smile 
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.