Estoy tratando de hacer un foro en php. Tengo un problema. Tengo un formulario de publicación con un área de texto. Imaginemos que lo lleno todo.
Cuando hago un salto de línea (cuando presiono la barra espaciadora), con nl2br, en mi base de datos hay etiquetas <br> agregadas. Pero cuando solo escribo y hay un salto de línea automático, no hay <br> .
¿Cómo puedo hacer, por ejemplo, al final de 100 caracteres, hay un salto de línea automático (que agrega un <br> en la base de datos? Lo intenté en Javascript pero no encontré una respuesta correcta.
Con
Sin que
salto de línea automático en el área de texto (sin <br> )
Problema:
Primera parte sobre PHP, también estoy creando un sitio web de PHP ahora, pero son las redes sociales, y aquí cómo lo hice para hacer saltos de línea y también para escapar caracteres como " o \ en mi chat.
$letter = join("", explode("\r\n", $letter)); $letter = join(" \\\\ ", explode("\\", $letter)); $letter = join("\\\"", explode("\"", $letter)); $stmt = $mysqli->prepare("INSERT INTO Chat (sender, recipient, msg, date) VALUE (?, ?, ?, ?)"); $stmt->bind_param("ssss", $sender, $recipient, $letter, $dateofletter); //$conn->query($sql); $stmt->execute(); $mysqli->close();y sobre el texto demasiado largo prueba estos
word-wrap: break-word; word-break: break-all; Pero si desea tener exactamente los mismos saltos de línea que el usuario escribió, simplemente no use el salto de palabra CSS y reemplace escriba esto $letter = join("<br>", explode("\r\n", $letter)); en lugar de $letter = join("", explode("\r\n", $letter));
o puede necesitar $letter = join(htmlspecialchars("<br>"), explode("\r\n", $letter));