Url linkabile nel textarea

Ho fatto una ricerca qui nel sito, ma i codici trovati non mi funzionano.

Io ho inserito questo nella mia pagina, vorrei fare in modo che quando un utente scrive nell'area textarea un url si dovrebbe autolinkare, ma non funziona

$messaggio = preg_replace("/^(http(s)?:\/\/|ftp(s)?:\/\/|<a href=\"http:\/\/www.\" target=\"_blank\">www.</a>)[A-Za-z0-9][-_!#$%&;:.,*+=?^{|}~A-Za-z0-9/]*[a-z0-9](.[a-z0-9]{2,4})$/",'<a href="\0">\0</a>', $messaggio);

La parte della tabella dove vorrei che appaia l'url linkabile questa:

$tabella .= "<span class=\"carattereMess\">$messaggio</span>";

inviato 5 anni fa
php
php
6
X 1 X

La tua espressione regolare sbagliata.

Invece di rifartela da solo, usa qualcosa di gi fatto e collaudato: prendi questi 2 file:

http://trac.symfony-project.org/browser/branches/1.4/lib/helper/TextHelper.php?format=raw

http://trac.symfony-project.org/browser/branches/1.4/lib/helper/TagHelper.php?format=raw

nel tuo script fai un require di questi file, e poi semplicemente:

auto_link_text($messaggio)

risposto 5 anni fa
Massimiliano Arione
Ho risolto, ho tolto ^ e $, ora funziona:<br />//Rende l'URL linkabile nel campo messaggio, ho tolto ^ e $ altrimenti QUI non funziona $messaggio = preg_replace("/(http(s)?:\/\/|ftp(s)?:\/\/|www\.)[A-Za-z0-9][-_!#$%&;:.,*+=?^{|}~A-Za-z0-9\/]*[a-z0-9](\.[a-z]{2,4})/",'<a target=\"_blank\" href="\0">\0</a>', $messaggio); $messaggio = str_replace("www.","http://www.",$messaggio); $messaggio = str_replace("http://http://","http://",$messaggio);php 5 anni fa
X 1 X

Quello che non riesco a fare inserire un codice css per formattarlo

Ho risolto, ho tolto ^ e $, ora funziona:

<?php>//Rende l'URL linkabile nel campo messaggio, ho tolto ^ e $ altrimenti QUI non funziona $messaggio = preg_replace("/(http(s)?:\/\/|ftp(s)?:\/\/|www\.)[A-Za-z0-9][-_!#$%&;:.,*+=?^{|}~A-Za-z0-9\/]*[a-z0-9](\.[a-z]{2,4})/",'<a target=\"_blank\" href="\0">\0</a>', $messaggio); $messaggio = str_replace("www.","http://www.",$messaggio); $messaggio = str_replace("http://http://","http://",$messaggio);

?>

risposto 5 anni fa
php
php
6
modificato 5 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda