Как уменьшить длину очень длинных струн? - PullRequest
2 голосов
/ 18 августа 2010

У меня есть текст, который иногда содержит очень длинные строки символов, что нарушает мой 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, который выполняет функцию, если одно слово в $ description имеет длину> = 30 символов, сократит его до 30 символов.

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

привет,

Грег

Ответы [ 2 ]

4 голосов
/ 18 августа 2010

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

Свойство word-wrap: break-word; работает во всех браузерах.

1 голос
/ 18 августа 2010

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

как

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

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

join(' ' ,$words);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...