1

我们如何在php中选择一个字符串到特定字符?

即我有一个字符串Wednesday 16-January-2013。我只需要到达第一个空格。

即输出应该是Wednesday

我用explode做到了,

<?php
explode(" ",Wednesday 16-January-2013)
?>

但是代码中允许过多的爆炸和数组。所以,

我怎么能不使用 explode()呢?

4

4 回答 4

5

从 PHP 5.3.0 开始,您可以使用strstr函数返回第一次出现针头之前的大海捞针部分(不包括针头):

$dayOfWeek = strstr('Wednesday 16-January-2013', ' ', true);
echo $dayOfWeek; // prints Wednesday
于 2013-01-15T09:44:25.330 回答
2

您可以简单地使用strstr()

strstr('Wednesday 16-January-2013', ' ', true);

第三个参数$before_needle使函数只返回空格之前的部分。

也可以看看:strstr()

在 PHP 5.3 之前(或者如果你需要根据空间的存在进行分支)你可以这样写:

$s = 'Wednesday 16-January-2013';
if (($p = strpos($s, ' ')) !== false) {
    echo substr($s, 0, $p);
} else {
    // space wasn't found, bad, bad.
}

如果在字符串的开头找到空格,也可以认为是错误;在那种情况下,条件很简单if ($p = strpos($s, ' ')) {(即它存在并且不出现在开头)

于 2013-01-15T09:41:46.410 回答
0

您可以使用以下substr方法执行此操作:

substr ( string $string , int $start [, int $length ] )

你可以像这样结合使用它strpos

$spacelocation = strpos($originalstring, " ");

if ($spacelocation !== false) {
    $day = substr($originalstring, 0, $spacelocation);
}
于 2013-01-15T09:39:27.353 回答
0

一个例子:

$str = "Wednesday 16-January-2013";
$out = substr( $str, 0, strpos( $str, " " ));
于 2013-01-15T09:42:06.457 回答