Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> text2link
Project
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 2.04.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam!
jakis czas temu pisalem skrypt link2text i z perspektywy czasu to bylo baaardzo latwe ale teraz pisze cos w druga strone ale nie za bardzo mam pomysl na szybki algorytm...
(IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Problem polega na zamianie textu w postaci http://www.test.pl lub www.test.pl na aktywne linki w postaci:
<a href=http://www.test.pl>www.test.pl</a>
ktos ma jakis pomysl jak to zrobic w jak najkrotszym czasie??

Z gory dziekuje za odpowiedzi!

POZDRAWIAM
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cod
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 20.03.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A ja zrobiłem przed chwilą własny skrypcik na to (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Tak żeby sprawdzić, czy umiem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .

[php:1:3408d7a0ac]<?php
if(isset($HTTP_POST_VARS["tekst"]))
{
$tekst=$HTTP_POST_VARS["tekst"];
$tekst=nl2br($tekst);
$wiersze=explode("n", $tekst);
$new="";
$znak=array(".", ",", "!", "?");
$end[0]="";
for($i=0;$i<count($wiersze);$i++)
{
$tablica=explode(" ", $wiersze[$i]);
for($j=0;$j<count($tablica);$j++)
{
if(substr($tablica[$j], 0, 7)=="http://")
{
$end[$j]="";
for($k=0;$k<count($znak);$k++)
{
if(substr($tablica[$j], strlen($tablica[$j])-1, 1)==$znak[$k])
{
$tablica[$j]=substr($tablica[$j], 0, strlen($tablica[$j])-1);
$end[$j]=$znak[$k];
}
}
$tablica[$j]="<a href="".$tablica[$j]."" target=_blank>".$tablica[$j]."</a>".$end[$j];
}
elseif(ereg("@", $tablica[$j])==TRUE)
{
$end[$j]="";
for($k=0;$k<count($znak);$k++)
{
if(substr($tablica[$j], strlen($tablica[$j])-1, 1)==$znak[$k])
{
$tablica[$j]=substr($tablica[$j], 0, strlen($tablica[$j])-1);
$end[$j]=$znak[$k];
}
}
$tablica[$j]="<a href="mailto:".$tablica[$j]."">".$tablica[$j]."</a>".$end[$j];
}
$new=$new." ".$tablica[$j];
}
}
echo "Tekst wpisany przez Ciebie:<br><br>$tekst<br><br>Tekst wygenerowany przez skrypt:<br><br>$new";
}
else
{
echo "<form method=post action=zmiana.php>Napisz jakis tekst zawierajacy adresy stron www i emaile i kliknij 'OK'.<br><br><textarea name=tekst cols=60 rows=10></textarea><br><br><input type=submit value=OK></form>";
}
?>[/php:1:3408d7a0ac]
Jak to działa, możecie zobaczyć pod tym linkiem: http://cod.home.staszic.waw.pl/testy/zmiana.php. Skrypt szuka ciągu "http://" i zamienia na hyperlink. Znajduje też małpę (@) i daje klikalny odnośnik z poleceniem "mailto:". Skrypt radzi sobie z linkami, po których jest kropka, przecinek, wykrzyknik lub znak zapytania. Przetestujcie sobie i powiedzcie co o tym sądzicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 16:32