pomocą PHP: Jak mogę wstawić podział wiersza w białych znaków, który mieści się we względnym środku ciąg? Lub innymi słowy, w jaki sposób liczyć słowa w zdaniu, a następnie umieścić podział linii w zdaniu w połowie drogi?Jak dodać podział wiersza w punkcie środkowym ciąg podzielona spacjami
Chodzi o to, aby uniknąć wdów (porzuconych słów) w drugim wierszu artykułów na blogu, zasadniczo przecinając każdy tytuł na pół i umieszczając go na dwóch liniach, jeśli tytuł zajmuje więcej niż jedną linię.
Z góry dziękuję.
Aktualizacja: Witam wszystkich, zdałem sobie sprawę, że potrzebuję funkcji preg_split, aby podzielić tytuł na białe spacje. Przepraszam, jeśli ta część nie była jasna w pytaniu. I zmodyfikowana odpowiedź Asafa i używane to:
$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;
}
Jestem nowy na SO i jestem powalony mocą społeczności. Twoje zdrowie.
Chcesz dodać podział wiersza w zdaniu w środku? –
Cześć David, tak. Każda pomoc wyjaśniająca jest mile widziana. Najpierw muszę sprawdzić tytuł artykułu na blogu. Następnie, jeśli ma być duży, aby zmieścić się na jednej linii, muszę umieścić kreskę pośrodku. –