klikateľné adresy z plain textu v PHP...

From: Miro Vesely <konfery (zavinac)>
Date: 28. 11. 2005, 13:12 CET
dostal som siahodlhý plaintextový dokument plný e-mailových a www adries.
je to adresár ktorý pôjde na web.

Potrebujem v tom texte hromadne spraviť klikateľné www a e-mail adresy.

nemáte na to niekto hotový PHP skript? trebárs formulár?

malo by to identifikovať korektný e-mail a adresy typu www.nieco.sk
a ideálne aj niekde.nieco.com čiže bez HTTP a bez WWW.

vopred ďakujem za nasmerovanie, na hotscripts som veľmi nepochodil
(viz záver majlu :-) a v google neviem, ako sa na toto pýtať po anglicky

----------------

podrobnejšie

ak nájde e-mailovú adresu (napríklad adresa@adresa.sk) vyrob z nej toto:
<a href="mailto:adresa@adresa.sk">adresa@adresa.sk</a>

Ak nájde www adresu (najlepšie aj bez www) napríklad niekde.nieco.sk/ahoj.php
zmení to na
<p>niekde.nieco.sk/ahoj.php</p>

ak je identifikácia adries začínajúcich inak, ako www obtiažna, dá sa fungovať
aj bez toho - takých domén tam je len zopár, môžem doriešiť ručne.

---------------


našiel som len takéto niečo, ale to chce mať na začiatku http://
takže to mi veľmi nepomôže :-(

<?php

function makeClickableLinks($text) {

  $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
    '\\1', $text);
  $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
    '\\1\\2', $text);
  $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})',
    '<a href="mailto:\\1">\\1</a>', $text);
  
return $text;

}

// Usage

// Email address example
$text = "you@example.com";
echo makeClickableLinks($text);

echo "<br /><br />";

// URL example
$text = "http://www.example.com";
echo makeClickableLinks($text);

echo "<br /><br />";

// FTP URL example
$text = "ftp://ftp.example.com";
echo makeClickableLinks($text);

?> 

Miro Vesely
http://www.diginews.sk/


 
Received on Mon, 28 Nov 2005 13:12:56 +0100

This archive was generated by hypermail 2.1.8 : 28. 11. 2005, 13:13 CET