2010-08-26 90 views
-1

如何在PHP中检查字符串是否包含' - '?PHP获取字符串的一部分

ABC-CDE :: ABCDEF

如果 ' - ' 发现 那么我必须执行拆分()从CDE分裂ABC :: ABCDEF

其他 没有必要像CDE执行分割()

:: ABCDEF

回答

2

if (strpos($string, "-") !== false) { split(); }

+2

这个代码将无法在PHP 5.3的工作。弃用的错误。现在它是一个preg_split(); – pltvs 2010-08-26 06:52:57

+0

来源?这并没有提到strpos已被废弃:http://php.net/manual/en/function.strpos.php – Select0r 2010-08-26 07:03:42

+0

我认为Alexander是指split() – Gordon 2010-08-26 07:14:06

0

只需split()它并计算返回数组中的元素。也许它足以继续使用第一个(或最后一个)元素,例如$newstring = split($oldstring, '-')[0] ...

+0

糟糕。作为@Web Developer我的意思是爆炸。抱歉。 – 2010-08-26 07:24:41

2

只需使用explode,应该是足够

如。 explode(' - ',$ urstring);

这只会把它(到字符串数组),如果“ - ”存在别的返回整个字符串作为数组

1

如何只使用爆炸的$极限参数()?

这将在你的两个例子中返回一个数组,在后一种情况下只有一个元素。

注意,分割()已过时的PHP 5.3:http://php.net/manual/en/function.split.php

$s1 = 'ABC-cde::abcdef'; 
$s2 = 'cde::abcdef'; 
$s3 = 'ABC-with-more-hyphens'; 

explode('-', $s1, 2); 
// array(2) { 
// [0]=> 
// string(3) "ABC" 
// [1]=> 
// string(11) "cde::abcdef" 
// } 

explode('-', $s2, 2); 
// array(1) { 
// [0]=> 
// string(11) "cde::abcdef" 
// } 

explode('-', $s3, 2); 
// array(2) { 
// [0]=> 
// string(3) "ABC" 
// [1]=> 
// string(17) "with-more-hyphens" 
// }