-3


我有一个字符串,从数据库中提取,女巫包含更多的短语。我只需要提取第一个短语女巫以点结尾。像这样的东西:
$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。Exceptioneur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum。

结果是:Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。

提前感谢 idei(我是 php 新手)。

4

6 回答 6

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

小提琴

于 2013-09-19T13:46:59.500 回答
1

在 PHP 中使用substr()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 回答
1
$explode = explode(".", $string, 1);
echo $explode[0] . ".";

编辑:Laz打败了我,我很慢:p

于 2013-09-19T13:47:41.533 回答
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 回答