2011-08-02 12 views
6

Jak wstawić funkcję nl2br z htmlspecialchars? Mam stronę, z której dane wejściowe pochodzą z textarea, a nl2br służy do konwersji następnej linii do akapitu. Kiedy próbowałem z htmlspecialchars otrzymałem poniższe dane wyjściowe. Tutaj napisałem trzy "testowe" słowa w textarea i zapisane w bazie danych. Używam htmlspecialchars, aby zapobiec zastrzykom html, ale z powodu tej funkcji nie działa funkcja nl2br. Czy możesz powiedzieć, jak obejść ten problem?jak do użytkownika funkcja nl2br z htmlspecialchars w phpmysql

test<br/>test<br/>test<br/> 

Odpowiedz

8

yo zrobić:

htmlspecialchars(nl2br($text)); 

trzeba:

nl2br(htmlspecialchars($text)); 
3

połączeń nl2brpo zadzwonić htmlspecialchars:

echo nl2br(htmlspecialchars($the_text)); 
+0

dzięki tej dobrej odpowiedzi – test

2

Chodzi o użycie właściwej kolejności,

htmlspecialchars (nl2br ($ string)); da wynik, który opisujesz. nl2br (htmlspecialchars ($ string)); wytworzy pożądany rezultat.

+0

dzięki za dobre odpowiedzi – test

1

nl2br

Wstawki linia HTML przerw przed wszystkimi liniami w ciąg

htmlspecialchars

Konwersja znaków specjalnych do podmiotów HTML

$text = "Hello \n World"; 
$unexpected_result = htmlspecialchars(nl2br($text)); // => "Hello &lt;br /&gt; World" 
$expected_result = nl2br(htmlspecialchars($text)); // => "Hello <br/> World" 

... Dlatego musimy użyć Użyj htmlspecialchars przed nl2br

Powiązane problemy