-3


I have a string, extracted from the database, witch contains more phrases. I need to extract only first phrase witch is ending with a dot. somthing like this:
$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.";

and the result to be: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Thanks in advance for idei(I am new in php).

Stefan C
  • 123
  • 2
  • 10

6 Answers6

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

Fiddle

Laz Karimov
  • 714
  • 10
  • 26
1
$explode = explode(".", $string, 1);
echo $explode[0] . ".";

edit: Laz beat me to it, slow I am :p

Joran Den Houting
  • 3,149
  • 3
  • 21
  • 51
1

You need to explode it: http://php.net/manual/en/function.explode.php

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

Edit to add . to end of echo.

Scott Helme
  • 4,786
  • 2
  • 23
  • 35
1

Well, first find the position of the first dot. Then read the string up to and including the dot.

$lorem  = 'Lorem ipsum dolor sit amet...';
$dotpos = strpos($lorem, '.');
$phrase = substr($lorem, 0, $dotpos + 1);
Sverri M. Olsen
  • 13,055
  • 3
  • 36
  • 52
1

Database level solution:

  SELECT SUBSTRING_INDEX('your.text.here', '.', 1)
Kuzgun
  • 4,649
  • 4
  • 34
  • 48
1

Use substr() and strpos() in PHP

<?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));
Shankar Narayana Damodaran
  • 68,075
  • 43
  • 96
  • 126