-4

可能重复:
PHP:如何检查字符串是否以指定字符串开头?

我正在努力创建一个函数来检查这个字符串是否从 start_to_date 开始,下面是我的实现。

$string = 'start_to_date-blablablabla';
if(cek_my_str($string)){
   echo "String is OK";
}

// tes again
$string2 = 'helloworld-blablablabla';
if(cek_my_str($string2)){
   echo "String not OK";
}

function cek_my_str($str){
   // how code to return true if $str is string which start with start_to_date
}

谢谢。

4

4 回答 4

3

要使用 Regex 执行此操作,您将执行以下操作:

return preg_match('/^start_to_date/', $str);

主要参考:http ://www.regular-expressions.info/

但是,preg_match 状态的 PHP 手册

如果您只想检查一个字符串是否包含在另一个字符串中,请不要使用 preg_match()。请改用 strpos() 或 strstr() ,因为它们会更快。


顺便说一句,你应该看看单元测试:http ://www.phpunit.de/manual/current/en/

这是一种在可重用测试中准确封装您正在执行的操作的方法。

于 2013-02-02T10:24:45.837 回答
3

在这种情况下,最好的做法是:

if(strpos($string, 'start_to_date') === 0) { ... }

strpos()检查 'start_to_date' 是否在位置 0(开始)

于 2013-02-02T10:40:47.010 回答
0

怎么样:

function cek_my_str($str){
    return preg_match('/^start_to_date/', $str)
}
于 2013-02-02T10:24:26.087 回答
0
function cek_my_str($str){
   $find = 'start_to_date';
   $substr = substr($str, 0, strlen($find));
   if($substr == $find){
    return true;
   }else{
    return false;
   }
}
于 2013-02-02T10:28:02.337 回答