2016-04-15 2 views
1

DIVに名前のあるWebページがあります。いくつかの名前は非常に長く、一部の画面幅でラインブレーキを生成します。そのような場合、最初の単語(たとえばファーストネーム)を最初の文字(たとえば最初の文字)に短縮し、残ったものをそのまま残したいと考えています(例:David van Macleaoderson - > D van Macleaoderson)。divにラインブレーキが表示されている場合はテキストを短くします

DIVでブラウザレンダリングされたラインブレーキを検出して短縮操作を実行するにはどうすればよいですか?あなたが最初の例divのため (そのdiv要素で調整どのように多くの文字を意味します)そのdiv要素の長さをカウントすることができ

答えて

1

は、迅速な答えのためにのみ20文字

$divMaxVal = 20; 

$name = "David van Macleaoderson"; 
$stringcnt= strlen($name); // Count the length of string i.e. 23 
if($stringcnt>$divMaxVal){ // Check whether string count ($stringcnt) value is greater than $divMaxVal or not 

//StringCount Value greater than $divMaxVal 

    $split = explode(' ', $name,2); // Explode the String in first occurance of delimeter 
    $firstchar = $split[0]; // =David 
    echo $firstchar[0].' '.$split[1]; // =D van Macleaoderson // combine the first character from David (i.e.Explode array 1st value) and Explode array 2nd value 
}else{ 
// if StringCount Value is not greater than $divMaxVal 
    echo $name; 
} 
+0

感謝を調整します!しかし、私はすべての画面の幅にこれの複数のバリエーションを行う必要があります。レンダリングされた行を数える機会はありますか? 1行以上がこれを行うならば(分割分解)? –

+0

変数$ divMaxValに値を入力する必要があるたびに、複数の画面幅が表示されます。しかし、それは良い解決策ではありません。 – Narayan

+0

@DanielWajあなたは問題の複数の画面について言及していませんでした。我々は複数の画面を残している場合は、上記の質問によると、上記の答えは正しいです。 – Narayan

関連する問題