SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Много дълго заглаие

B

bedio

Guest
И на главната страница излиза по принцип снимка и от доло заглавието и (като има макс чар)

Но някой качва снимка, но и слага някакжо много дълго заглавие без интервали. тогажа заглавието е на един ред и избутва вси4ко друго. как да реша проблема. Не искам с оверфлоу, имаше нещо с пхп ама не мога да го намеря.
 
Re: Много дълго заглаие

И на главната страница излиза по принцип снимка и от доло заглавието и (като има макс чар)

Но някой качва снимка, но и слага някакжо много дълго заглавие без интервали. тогажа заглавието е на един ред и избутва вси4ко друго. как да реша проблема. Не искам с оверфлоу, имаше нещо с пхп ама не мога да го намеря.
в смисъл искаш да сложиш лимит на знаците при показване ли?
 
Re: Много дълго заглаие

ами знам как да сложа спейс, знам как да огранича лимита на показване, но аз искам да имам дълги заглавия, но не една дума от 100 знака да убива лейаута. когато имаш дълго заглавие но няколко думи - всичко е ок, думите си отиват на 2ри ред, но не и в горния случай
 
Re: Много дълго заглаие

Ггледай да слагаш нови редове на определен брой думи.След определен брой думи да ти прави нов ред,например

Можеш да използваш тази функция да ти направи нови редове на всеки 5 думи
Отдоло в червено виждаш 5.Можеш да го промениш на 10 20 30 ти решаваш
function newlineEveryFive($str){
$array = explode(" ", $str);
for($i=0;$i<count($array);$i++){
if($i!=0 && $i%5==0)
$out .= "\n".$array[$i]." ";
else
$out .= $array[$i]." ";
}
return $out;
}


Друго решение е да сложиш текста в текст бокс.
 
Последно редактирано:
Re: Много дълго заглаие

Струва ми се че не сте прочели условието на задачката - дълго заглавие без интервали. Помислете за варианта ако стринга е "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" и полето в което трябва да се показва е 5 символа ;)

Ето примерно допълнение към горните варианти (понеже не ми се тества може и да не работи :)

....

Код:
$string = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
$vlength = 5;
$delimeter = '- <br />';


$k = $i = 0;
for ( $i=0 ; $i < strlen($string); $i++ )
{
        if ( $k == $vlength )
        {
                $new_string .= $string[$i] . $delimeter;
                $k = 0;
        }
        else
        {
                $new_string .= $string[$i];
                $k++;
        }
}


echo $new_string;



ЕДИТ: against: wordwrap() се дънеше нещо с UTF8 и затова не го ползвам ( въпреки че ползвах mb_strlen )
 
Последно редактирано:
Re: Много дълго заглаие

Мда имаше нещо такова... проблема е че UTF-8 ползва 2 бита за всеки символ, вместо 1 (както при другите) и може да му резнеш единия бит.
Не съм сигурен, ама май се оправяше ако wordwrap-ваш на четно число.
 

Горе