从php中的字符串中提取短语

时间:2013-09-19 13:45:11

标签: 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在杜鹃花中,杜鹃花,花瓣,花瓣,花瓣,花瓣,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花,花。

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

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

6 个答案:

答案 0 :(得分:4)

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

<强> Fiddle

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

你需要爆炸它:http://php.net/manual/en/function.explode.php

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

编辑以将.添加到回显结尾。

答案 3 :(得分:1)

好吧,首先找到第一个点的位置。然后读取字符串,包括点。

$lorem  = 'Lorem ipsum dolor sit amet...';
$dotpos = strpos($lorem, '.');
$phrase = substr($lorem, 0, $dotpos + 1);

答案 4 :(得分:1)

数据库级解决方案:

  SELECT SUBSTRING_INDEX('your.text.here', '.', 1)

答案 5 :(得分: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));