-3


データベースから抽出された文字列があり、魔女にはさらに多くのフレーズが含まれています。魔女がドットで終わる最初のフレーズだけを抽出する必要があります。次のようなもの:
$string = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est labourum.";

結果は次のようになります

idei(私はphpが初めてです)を前もって感謝します。

4

6 に答える 6

4
$phrases = explode('.', $string, 2);
echo $phrases[0];

フィドル

于 2013-09-19T13:46:59.500 に答える
1

分解する必要があります: http://php.net/manual/en/function.explode.php

$firstSentence = explode(".", $string, 2);
echo $firstSentence[0] . ".";

.エコーの最後に追加するように編集します。

于 2013-09-19T13:48:36.937 に答える
1

まず、最初の点の位置を見つけます。次に、ドットまでの文字列を読み取ります。

$lorem  = 'Lorem ipsum dolor sit amet...';
$dotpos = strpos($lorem, '.');
$phrase = substr($lorem, 0, $dotpos + 1);
于 2013-09-19T13:48:54.307 に答える
1

データベース レベルのソリューション:

  SELECT SUBSTRING_INDEX('your.text.here', '.', 1)
于 2013-09-19T13:49:03.130 に答える
1
$explode = explode(".", $string, 1);
echo $explode[0] . ".";

編集:ラズは私を打ち負かしました、私は遅いです:p

于 2013-09-19T13:47:41.533 に答える
1

PHPsubstr()で andを使用するstrpos()

<?php
$string = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
echo (substr($string,0,strpos($string,'.')+1));
于 2013-09-19T13:50:15.640 に答える