Mam witrynę, w której użytkownicy mogą wprowadzać komentarze i opisy. Pozwalam im również wprowadzać linki. Używam strip_tags
z wyjątkiem dla linków. Dodaję też rel="nofollow"
poprzez proste string_replace.Sprawdzanie składni linków wprowadzanych przez użytkownika
Problem polega na tym, że jeśli użytkownicy zostawiają podwójny cudzysłów na końcu otwierającego tagu, to messe up html. Wszelkie sugestie, jak sprawdzić lub naprawić niepoprawną składnię linków?
$comment = $_POST['comment'];
$comment = strip_tags($comment,"<a>");
$comment = str_replace('<a','<a rel="nofollow"',$comment);
$comment = mysql_real_escape_string($comment);
i podczas wyprowadzania
$ comment = stripslashes ($ komentarzu);
echo $ comment;
Problem polega na tym, że użytkownicy dodają <a href="www.blah.com>
i zapominają o ostatnim podwójnym cudzysłowie, a to powoduje, że wyświetlany jest komentarz.
można podać przykładowy kod? –
Mam na myśli, kod PHP z str_replace, który robisz dla rel = "nofollow" –
Przepraszam. Mój pierwszy raz na StackOverflow. Że należy to zrobić. – Brian