Ho un sito in cui gli utenti possono inserire commenti e descrizioni. Autorizzo anche loro a inserire link. Io uso strip_tags
con un'eccezione per i collegamenti. Aggiungo anche rel="nofollow"
attraverso un semplice string_replace.Controllo sintassi del collegamento di input utente
Il problema è che se gli utenti lasciano una virgoletta doppia alla fine del loro tag di apertura, incasina l'html. Qualche suggerimento su come verificare o correggere la sintassi del collegamento errata?
$comment = $_POST['comment'];
$comment = strip_tags($comment,"<a>");
$comment = str_replace('<a','<a rel="nofollow"',$comment);
$comment = mysql_real_escape_string($comment);
e quando l'output
$ comment = stripslashes ($ commento);
echo $ commento;
Il problema si verifica quando gli utenti aggiungono <a href="www.blah.com>
e dimenticano l'ultimo doppi apice, questo incasina il modo in cui viene visualizzato il div del commento.
si può dare il codice di esempio? –
Intendevo, il codice PHP con lo str_replace che fai per il rel = "nofollow" –
Scusa. La mia prima volta su StackOverflow. Questo dovrebbe farlo. – Brian