我们如何在php中选择一个字符串到特定字符?
即我有一个字符串Wednesday 16-January-2013
。我只需要到达第一个空格。
即输出应该是Wednesday
。
我用explode做到了,
<?php
explode(" ",Wednesday 16-January-2013)
?>
但是代码中允许过多的爆炸和数组。所以,
我怎么能不使用 explode()呢?
我们如何在php中选择一个字符串到特定字符?
即我有一个字符串Wednesday 16-January-2013
。我只需要到达第一个空格。
即输出应该是Wednesday
。
我用explode做到了,
<?php
explode(" ",Wednesday 16-January-2013)
?>
但是代码中允许过多的爆炸和数组。所以,
我怎么能不使用 explode()呢?
从 PHP 5.3.0 开始,您可以使用strstr函数返回第一次出现针头之前的大海捞针部分(不包括针头):
$dayOfWeek = strstr('Wednesday 16-January-2013', ' ', true);
echo $dayOfWeek; // prints Wednesday
您可以简单地使用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, ' ')) {
(即它存在并且不出现在开头)
您可以使用以下substr
方法执行此操作:
substr ( string $string , int $start [, int $length ] )
你可以像这样结合使用它strpos
:
$spacelocation = strpos($originalstring, " ");
if ($spacelocation !== false) {
$day = substr($originalstring, 0, $spacelocation);
}
一个例子:
$str = "Wednesday 16-January-2013";
$out = substr( $str, 0, strpos( $str, " " ));