Usando php: ¿Cómo puedo insertar un salto de línea en el espacio en blanco que se encuentra en el medio relativo de la cadena? O en otras palabras, ¿cómo cuento las palabras en una oración y luego pongo un salto de línea en la oración en el punto medio?Cómo agrego un salto de línea en el punto medio de una cadena dividida por espacios en blanco
La idea es evitar las viudas (palabras abandonadas) en la segunda línea de títulos de artículos de blog esencialmente cortando cada título a la mitad y poniéndolo en dos líneas si el título ocupa más de una línea.
Gracias de antemano.
Actualización: Hola a todos, me di cuenta de que necesitaba la función preg_split para dividir el título por espacios en blanco. Lo siento si esa parte no estaba clara en la pregunta. He modificado la respuesta de Asaf y utilizado este:
$title_length = strlen($title);
if($title_length > 30){
$split = preg_split('/ /', $title, null, PREG_SPLIT_NO_EMPTY);
$split_at = ceil(count($split)/2);
echo $split_at;
$broken_title = '';
$broken = false;
foreach($split as $word_pos => $word){
if($word_pos == $split_at && $broken == false){
$broken_title.= '<br />'."\n";
$broken = true;
}
$broken_title .= $word." ";
}
$title = $broken_title;
}
Soy nuevo SO y estoy impresionado por el poder de la comunidad. Aclamaciones.
Si desea añadir un salto de línea en una oración en el medio? –
Hola David, sí. Cualquier ayuda para aclarar es bienvenida. De hecho, necesito verificar la longitud del título de un artículo de blog primero. Entonces, si es demasiado grande para caber en una línea, necesito poner un salto de línea en el medio. –