我尝试在特定符号之前使用PHP获取字符串。我有这个字符串
$string = Product/1010/00000000718/111; Category
但是从这个字符串我只需要从开头到“;”
的字符串产品/ 1010/00000000718/111
如果有人给我一个解决方案,我将非常感激。感谢。
答案 0 :(得分:1)
<?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