0

この関数が行う2つの部分にテキストを分割する必要がありますが、単語の途中で途切れます。単語の最初または最後を計算して、数文字を与えるか、または取る必要があります。

文字範囲は130文字以下である必要があるため、単語数に基づくことはできません。

$str = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem     Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown     printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum"

$first125 = substr($str, 0, 125);
$theRest = substr($str, 125);

ありがとう

4

3 に答える 3

2

試す:

<?php
$str = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem     Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown     printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum";
$str = explode(' ', $str);
$substr = "";

foreach ($str as $cur) {
    if (strlen($substr) >= 125) {
        break;
    }
    $substr .= $cur . ' ';
}
echo $substr;
?>

CodePadhttp ://codepad.org/EhgbdDeJ

于 2012-09-21T14:02:41.253 に答える
1

これがあなたが始めようとしていることへの非常に基本的な解決策です

$first125 = substr($str, 0, 125);
$theRest = substr($str, 125);

$remainder_pieces = explode(" ", $theRest, 2);

$first125 .= $remainder_pieces[0];
$theRest = $remainder_pieces[1];

echo $first125."</br>";
echo $theRest;

ただし、考慮すべき点は他にもあります。たとえば、そのソリューションでは、125番目の文字が単語の終了後のスペースである場合、それを超える別の単語が含まれるため、いくつかのチェックメソッドを追加して試してみることができます。可能な限り正確。

于 2012-09-21T14:00:22.153 に答える
0

頭のてっぺんにネイティブのphp関数があるかどうかはわかりませんが、これでうまくいくと思います。もちろん、少なくとも125文字あるかどうか、およびこれが想定する125番目の文字の後にスペースがあるかどうかを確認するために何かを追加する必要があります。

    $k = 'a';
    $i = 0;
    while($k != ' '):
       $k = substr($str, (125+$i), 1);
       if($k == ' '):
         $first125 = substr($str, 0, (125+$i));
         $theRest = substr($str, (125+$i+1));
       else:
             $i++;
       endif;
    endwhile;
于 2012-09-21T14:00:01.960 に答える