开发者

javascript/php - shorten string to fit into a certain # of lines

I have a string that must fit into a box, and must be at most 3 lines long. To shorten it, I plan to truncate it and end it with '...'. I could shorten it to a certain # of characte开发者_运维知识库rs but if i make it look good with "wwwwwwwww [...] wwww" it won't look right with "iiiiiiiiiii [...] iiii".

Is there some way I can shorten it by how much space the string would take up, as opposed to how many characters there are in a string without using a fixed-width font? Ideally I'd like to do this server-side (php) but recognize that actual character width stuff is far more likely to be feasible client-side (JS / jQuery)

Mala

ps. Please no "simply create an image of '...' and overlay it over the end of the line" hacks or similar - I actually want to shorten the string to the appropriate length


There's imageftbbox and imagettfbbox for that.


have a look at this: http://www.switchonthecode.com/tutorials/javascript-tutorial-how-to-auto-ellipse-text


This site offers as good a way as any, and is cross-browser. I like the simplicity:


There's no way that I can think of to easily get font sizes to the degree that you speak of, but there may be a hack that would "appear" the way you want. I assume since you mention three lines, we're talking about a <textarea> element:

<textarea rows="3" cols="50" style="overflow:hidden;"></textarea>

Although the text is there, it's not visible and the scroll bars would not display.


There is a number of jQuery plugins for this: http://plugins.jquery.com/taxonomy/term/2229

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜