1

Web ページの最初の 20 語を表示するコードがあります。

$arrtext = explode( ' ', stripslashes( str_replace('\n',chr(10),str_replace('\r',chr(13),$row['text']))), $config['length_story'] + 1);

$arrtext[ $config['length_story'] ] = '';

$row['headtext'] = trim(implode( ' ', $arrtext)) . '...';

これは問題なく動作しますが、最初の 20 語を繰り返さずに残りのテキストも表示したいのですが、どうすればよいですか?

4

2 に答える 2

1

個人的には、次のようにします。

$story = $row['text']; // apply whatever here, `stripslashes`, `sre_replace`...
preg_match("/^((?:\S+\s+){20})(.*)$/",$story,$match);
if( $match)
    $result = Array($match[1],$match[2]);
else
    $result = Array($story,"");

2 つの要素が含まれるようになりまし$resultた。最初の要素はストーリーの最初の 20 語で、2 番目の要素はその後のすべてです。

于 2012-07-13T14:24:30.257 に答える
1

何も書き換えずに、内容を保存するだけです

$arrtext[ $config['length_story'] ] = '';

上書きする前に。すでに残りのテキストが含まれています

$remaining = $arrtext[ $config['length_story'] ];
$arrtext[ $config['length_story'] ] = '';
于 2012-07-13T14:27:06.510 に答える