Возможно ли на PERL сделать следующее преобразование:замена в тексте строк " http://* " (звёздочка - любое число любых символов)
в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)Спасибо.
да, возможно.
>да, возможно.
Я обычно делаю примитивно по старинке :@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);
>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!
>>>да, возможно.
>>
>>
>>Я обычно делаю примитивно по старинке :
>>
>>@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);
$size=@a
>for($i=1; $i<$size; $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>
>>да, возможно.
>
>
>Я обычно делаю примитивно по старинке :
>
>@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);
-----------------Только перед первой ссылкой лепит лишний пробел. Вроде не заметно, но некрасиво, неточно как-то...
>Возможно ли на PERL сделать следующее преобразование:
>
>замена в тексте строк " http://* " (звёздочка - любое число любых
>символов)
>в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)
>
>Спасибо.$Text =~ s,(http://.+?)(?=\s),<a href='$1'>$1</a>,g;
>>Возможно ли на PERL сделать следующее преобразование:
>>
>>замена в тексте строк " http://* " (звёздочка - любое число любых
>>символов)
>>в строки " <a href='http://*'>http://*</a> " (звёздочка - те самые символы из исходной строки)
>>
>>Спасибо.
>
>$Text =~ s,(http://.+?)(?=\s),<a href='$1'>$1</a>,g;Респект и Уважуха!
Респект и Уважуха!!
Респект и Уважуха!!!