formattare preg_replace

Ho creato questa preg_replace che rende linkabile automaticamente un url se inserito nel mio textarea.
Ma non riesco ad inserirgli un codice css che formatta l'url separato da quella del testo-messaggio

codice PHP:


$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);


EDIT:

Ho fatto delle modifiche nell'ultima parte e sembra funzionare come link colorato, però a video mi fa sballare il testo

...,"<a class=\"carattere-2\" target=\"_blank\" href=$0>$0</a>", $messaggio);   

Come si fa nei post di PHP News a formattare il codice php come negli altri forum?

inviato 5 anni fa
php
php
6
modificato 5 anni fa
Gianni Tomasicchio
Puoi completare meglio la tua domanda? Esattamente che resa vuoi ottenere? Vuoi usare un css inline o hai il codice in un foglio a parte?Mario Santagiuliana 5 anni fa
X 0 X

Cosa intendi per: "mi fa sballare il testo"?

Quando riempi la textarea, invece di usare <textarea>$messaggio</textarea> usa il javascript.

In pratica il valore della tua textarea: var testo = document.geteElementById('testo').value;

Poi processi testo per inserire la stringa $messaggio... in qualche punto, magari alla fine del testo inserito basta fare così: testo = testo + <?php echo $messaggio; ?>; e poi lo rimetti tutto insieme nella textarea.

document.getElementById('testo').value = testo;

risposto 5 anni fa
Marco Grazia
X 0 X

Se metto uno "font style" 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 href=\"$0\" target=\"_blank\"><font style=\"color:#0000ff\">$0</font></a>",$messaggio);      

se invece metto il css, a video nel textarea appare cosi con la barra obliqua ed il testo è leggermente più in basso dell'url:   url/ parole testo                                          

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