在第一个";之前获取一个字符串&引用;使用php

在第一个";之前获取一个字符串&引用;使用php,php,Php,“Lorem Ipsum只是印刷和排版行业的虚拟文本。” 从 “Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着包括Lorem Ipsum版本的Aldus PageMaker等桌面出版软件的发布而流行。” 我

“Lorem Ipsum只是印刷和排版行业的虚拟文本。”

“Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着包括Lorem Ipsum版本的Aldus PageMaker等桌面出版软件的发布而流行。”

我们如何做到这一点?php中有没有一个好的函数可以用来做这样的事情

谢谢

Adam Ramadhan

你可以使用explode()来获得第一句话。

您可以使用函数拆分它

$sentences = explode (".", $text);
// first sentence is in $sentences[0]

类似这样的东西怎么样(其他人建议使用
explode
——所以我建议另一种解决方案):


regex将:

  • 从字符串开头开始:
    ^
  • 匹配任何非匹配项。:
    [^\.]
  • 任意次数:
    [^\.]*

而且,由于您希望在输出的末尾有一个
,并且
与正则表达式不匹配,因此在使用正则表达式找到的内容时,您必须将其添加回去。

对于PHP5.3和更高版本,您可以将before_needle参数与strstr一起使用:

// fastest way
echo substr($text, 0, strpos('.', $text));
strstr( $youstringhere, ".", true );

我们在这里是非常基本的xDsory,但我需要知道人们是怎么说的:),请看explode和strpos这就是我喜欢stackoverflow的原因。你试过了吗?人们不会说任何你在手册中找不到的东西,那不应该是$matches[0]?@canutes关于第一个捕获的片段(模式中的参数之间)在
$matches[1]中
--在这里,由于括号环绕整个模式,因此,
$matches[0]
$matches[1]
将包含相同的内容regex,就像电锯一样,在某些情况下非常有用。对于这样一个简单的过程,它有点过火。一个人必须学习基本字符串来自己解决这些问题。regexp对他没有好处。没错,regex在这里过火了。但我认为这是一个扩大答案范围的好答案。All其他(
substr()
strstr()
explode()
等)已经提到(有些甚至多次)。
strstr( $youstringhere, ".", true );