PHP在特定符号之前获取字符串

时间:2017-03-29 15:36:30

标签: php string

我尝试在特定符号之前使用PHP获取字符串。我有这个字符串

$string = Product/1010/00000000718/111; Category

但是从这个字符串我只需要从开头到“;”

的字符串
  

产品/ 1010/00000000718/111

如果有人给我一个解决方案,我将非常感激。感谢。

2 个答案:

答案 0 :(得分:1)

PHP code demo

<?php
$string = "Product/1010/00000000718/111; Category";
echo explode(";", $string)[0];

答案 1 :(得分:0)

可能只建议使用爆炸,因为程序员经常使用它进行其他操作。

  

然而,这是strstr()的完美案例。使用true作为第三个参数的设计特征对于这种情况特别有价值,因为它在 - &gt;中提供直接字符串。字符串输出过程没有中间数组生成。

$string='Product/1010/00000000718/111; Category';
echo strstr($string,';',true);
// output: Product/1010/00000000718/111

这是一个简短的php函数菜单,可以提供所需的结果: Demo

$string='Product/1010/00000000718/111; Category';

echo 'strstr = ',strstr($string,';',true);                           // one function, string->string
echo 'str_replace = ',str_replace('; Category','',$string);          // one function, string->string
echo 'rtrim = ',rtrim($string,'; Category');                         // one function, string->string
echo 'strtr = ',strtr($string,['; Category'=>'']);                   // one function, string->string
echo 'preg_replace = ',preg_replace('/;.*/','',$string);             // one function, string->string
echo 'substr = ',substr($string,0,strpos($string,';'));              // two functions, string->string
echo 'str_getcsv = ',str_getcsv($string,';')[0];                     // one function, string->array->string
echo 'explode = ',explode(";",$string)[0];                           // one function, string->array->string
echo 'preg_match = ',preg_match('/^[^;]+/',$string,$out)?$out[0]:''; // one function, string->array->string
echo 'preg_split = ',preg_split('/;/',$string)[0];                   // one function, string->array->string