php-複数のスライドにテキストを表示する方法は?
そのため、コメントの長さが90文字を超える場合は、複数のスライド(すべてのカードのスライドショー内)に表示する各カードのコメントがあります。これは私が考えていたアルゴリズムであり、機能しますが、まったく見栄えがよくありません...テキストの一部を表示して、あえぎを持たないように、領域全体を埋めたいだけです...
//let's say I have 10 cards with comments, so $len_of_posts=10;
<?php for($i=0; $i < $len_of_posts; $i++) { ?>
<div class="card">
<div class="card-body">
<div class="slideshow-container">
<?php
$len = intdiv(strlen($row['comment']),90) + 1;
$newtext = $row['comment'] . " ";
$init_pos = 0;
if ($len == 1) { ?>
<div class="mySlides" >
<?php echo $row['comment']; ?>
</div>
<?php } else
for($i = 0; $i < $len; $i++) { ?>
<div class="mySlides">
<?php
$substr = substr($newtext,$init_pos,90);
$pos = strrpos($substr,' ',-1); //last space before 90 chars.
echo substr($newtext,$init_pos,$pos);
$init_pos = $init_pos + $pos + 1;
?>
</div>
<?php } if ($len > 1 ) {?>
<a class="prev">❮</a>
<a class="next">❯</a>
<?php } ?>
</div>
<?php if($len > 1) {?>
<div class="dot-container">
<?php for($i = 0; $i < $len; $i++) { ?>
<span class="dot"></span>
<?php } ?>
</div>
<?php } ?>
</div>
</div>
<?php } ?>
例:私はこのテキストを持っています:Lorem ipsum dolor sit amet、consectetur adipiscing elit、sed do eiusmod tempor incididunt ut Labore et dolore magnaaliqua。 Ut enim ad minim veniam、quis nostrud exercitation ullamco labis nisi ut aliquip ex ea commodoconsequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nullapariatur。 Excepteur sint occaecat cupidatat non proident、sunt in culpa qui officia deserunt mollit anim id estlaborum。
そして、私のスライドショーコンテナの幅は290pxです。
これが表示される方法です:mySlides1:Lorem ipsum dolor sit amet、
consectetur adipiscing elit、sed do
eiusmod tempor incididunt
mySlides2:ut Labore et dolore magnaaliqua。 Ut
enim ad minim veniam、quis nostrud
運動
mySlides3:ullamco Laboris nisi ut aliquip ex ea
コモドコンセクアット。 Duis aute irure
のドロア
mySlides4:官能的なvelitでreprehenderit
esse cillum dolore eu fugiat nulla
パリアトゥール。例外者
mySlides5:sint occaecat cupidatat non
自信を持って、culpa quiofficiaに沈む
deserunt mollit anim id
mySlides6:エストニア語。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。