The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"поиск ссылок и преобразование в теги"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"поиск ссылок и преобразование в теги"  
Сообщение от ALUM on 20-Сен-06, 18:09 
Возможно ли на PERL сделать следующее преобразование:

замена в тексте строк " http://* " (звёздочка - любое число любых символов)
в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)

Спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "поиск ссылок и преобразование в теги"  
Сообщение от Аноним on 20-Сен-06, 18:27 
да, возможно.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "поиск ссылок и преобразование в теги"  
Сообщение от Dimitry (??) on 21-Сен-06, 03:57 
>да, возможно.


Я обычно делаю примитивно по старинке :

@a=split(" http://",$text);
for($i=1;$i<$a;$i++) {$href=$a[$i]; $a[$i]="<a href=http://$href>http://$href</a>";}
$text=join(" ",@a);

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "поиск ссылок и преобразование в теги"  
Сообщение от ALUM on 21-Сен-06, 09:30 
>>да, возможно.
>
>
>Я обычно делаю примитивно по старинке :
>
>@a=split(" http://",$text);
>for($i=1;$i<$a;$i++) {$href=$a[$i]; $a[$i]="<a href=http://$href>http://$href</a>";}
>$text=join(" ",@a);

чего-то не получилось...

$text = "drlkj, jdlrfjk http://forum.opennet.ru fsdf. lsksjk owopfhj http://www.freebsd.org - jghf!";

@a=split(" http://", $text);
for($i=1; $i<$a; $i++)
{
$href=$a[$i];
$a[$i]="<a href=http://$href>http://$href</a>";
}
$text=join(" ", @a);

print $text;

---------------
drlkj, jdlrfjk forum.opennet.ru fsdf. lsksjk owopfhj www.freebsd.org - jghf!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "поиск ссылок и преобразование в теги"  
Сообщение от ALUM on 21-Сен-06, 10:05 
>>>да, возможно.
>>
>>
>>Я обычно делаю примитивно по старинке :
>>
>>@a=split(" http://",$text);
>>for($i=1;$i<$a;$i++) {$href=$a[$i]; $a[$i]="<a href=http://$href>http://$href</a>";}
>>$text=join(" ",@a);
>
>чего-то не получилось...
>
>$text = "drlkj, jdlrfjk http://forum.opennet.ru fsdf. lsksjk owopfhj http://www.freebsd.org - jghf!";
>
>@a=split(" http://", $text);
[b]$size=@a[/b]
>for($i=1; $i<[b]$size[/b]; $i++)
>{
> $href=$a[$i];
> $a[$i]="<a href=http://$href>http://$href</a>";
> }
>$text=join(" ", @a);
>
>print $text;
>
>---------------
drlkj, jdlrfjk <a href=http://forum.opennet.ru fsdf. lsksjk owopfhj>http://forum.opennet.ru fsdf. lsksjk owopfhj</a> <a href=http://www.freebsd.org - jghf!>http://www.freebsd.org - jghf!</a>


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "поиск ссылок и преобразование в теги"  
Сообщение от ALUM on 21-Сен-06, 12:31 
>>да, возможно.
>
>
>Я обычно делаю примитивно по старинке :
>
>@a=split(" http://",$text);
>for($i=1;$i<$a;$i++) {$href=$a[$i]; $a[$i]="<a href=http://$href>http://$href</a>";}
>$text=join(" ",@a);

Заработало вот в таком виде:
-----------------
@a = split("http://", $Text);
$Size = @a;

for($i = 1; $i < $Size; $i++)
{
@b=split(" ", $a[$i]);
$b[0] = "[<a href=http://".$b[0]."><b>http://".$b[0]."</b></a>]";
$a[$i] = join(" ", @b);
}

$Text = join(" ", @a);
-----------------

Только перед первой ссылкой лепит лишний пробел. Вроде не заметно, но некрасиво, неточно как-то...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "поиск ссылок и преобразование в теги"  
Сообщение от madskull (ok) on 26-Сен-06, 17:19 
>Возможно ли на PERL сделать следующее преобразование:
>
>замена в тексте строк " http://* " (звёздочка - любое число любых
>символов)
>в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)
>
>Спасибо.

$Text =~ s,(http://.+?)(?=\s),<a href='$1'>$1</a>,g;

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "поиск ссылок и преобразование в теги"  
Сообщение от ALUM on 29-Сен-06, 17:31 
>>Возможно ли на PERL сделать следующее преобразование:
>>
>>замена в тексте строк " http://* " (звёздочка - любое число любых
>>символов)
>>в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)
>>
>>Спасибо.
>
>$Text =~ s,(http://.+?)(?=\s),<a href='$1'>$1</a>,g;

Респект и Уважуха!
Респект и Уважуха!!
Респект и Уважуха!!!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру