2010-08-18 4 views
2

У меня есть текст, который иногда содержит очень длинные строки символов, которые разбивают мой CSS.Как уменьшить длину очень длинных строк?

Это пример:

http://iapps.smartphonesoft.com/php/software_details.php?id=358281487

в то время как это один нормально

http://iapps.smartphonesoft.com/php/software_details.php?id=380894729

Можно ли лишить очень длинную линию * s в приведенном выше примере вниз управляемая длина?

Дополнительное осложнение - это не всегда * s, которые вызывают проблему, то есть в этом примере это строка =, вызывающая проблему.

http://iapps.smartphonesoft.com/php/software_details.php?id=371255483

Так что я хочу писать PHP, который выполняет функцию, если одно «слово» в $ описании длиной> = 30 символов, уменьшить его до 30 символов.

Весь текст хранится в переменной описания $

С уважением,

Грег

+0

Это не PHP5, пожалуйста, отметьте правильно. http://php.net/ChangeLog-5.php (может также принять некоторые ответы) – TheLQ

+0

Я принял ответ за 10 часов до этого комментария :) – kitenski

ответ

4

По умолчанию браузеры не будет обернуть очень длинное слово. Вы можете переопределить это поведение и всегда переносить, даже если вам нужно сломать слово, с помощью CSS (не требуется PHP!)

Недвижимость word-wrap: break-word; и работает во всех браузерах.

+0

спасибо, это отличное решение, которое сработало :) – kitenski

+0

Без проблем, рад помочь. –

1

вы можете взорваться строку на массив слов, затем проверить STRLEN каждого слова не> 30

как

$words = explode(" ", $string); 
foreach($words as $k=>$word){ 
    if(strlen($word) >= 30) 
     $words[$k] = substr($word,0,30) ; 
} 

после этого возвращения массива в одну строку с

join(' ' ,$words); 
+0

И конкат с
в конце каждой строки. – Topera

+0

Какова длина линии? после сколько слов? –

+2

Проблема в том, что (по крайней мере, с обычными пропорциональными шрифтами) разные символы имеют разную ширину. Поскольку длина строк не так уж длинна, вы не можете полагаться на среднюю ширину символа, чтобы выровнять общую длину строки. Вот почему упаковка, основанная на количестве символов, не так хороша. –

Смежные вопросы