omaza1990 Asked: 2020-12-14 03:21:01 +0800 CST 2020-12-14 03:21:01 +0800 CST 2020-12-14 03:21:01 +0800 CST 获取 PHP 文本字符串 - substr 772 如果 substr 的命名为: string substr ( string $string , int $start [, int $length ] ) 我如何告诉它它必须带我开始字符串,直到它找到一个“。” 的扩展? 也就是说:如果我们有“string.php”,则只提取“string”。 php 3 Answers Voted Best Answer ffflabs 2020-12-14T03:26:53+08:002020-12-14T03:26:53+08:00 您可以通过与 结合substr或 strpos与. <?php $cadena='archivo.php'; // opcion 1 $cadena_cortada = substr($cadena,0, strpos($cadena,'.')); print_r('<br>opción 1 "'.$cadena_cortada.'"'); // opcion 2 $cadena_arr = explode('.',$cadena); print_r('<br>opción 2 "'.$cadena_arr[0].'"'); 选项 1 更接近您要执行的操作,但如果您将一个不在字符串中的字符传递给它,则结果将是一个空字符串。 使用 always 选项explode,它会给你一些回报。 现在,如果您希望它从字符的开头到最后一次出现返回字符串,您必须开始进行检查,例如使用 strpos来验证字符是否存在,或者利用和验证结果数组的长度。例如,假设您的字符串是archivo.con.datos.php并且您想要archivo.con.datos $cadena_arr2 = explode('.','archivo.con.datos.php'); $elementos = count($cadena_arr2); print_r('<br>La cadena explotada tiene '.$elementos.' elementos'); if($elementos>1) { // quitamos el último elemento array_pop($cadena_arr2); } print_r('<br>opción 3 "'.implode('.',$cadena_arr2).'"'); Flowen 2020-12-14T03:24:00+08:002020-12-14T03:24:00+08:00 substr()它只允许您从指示的位置开始并继续您指示的字符数。 使用explode() $string = "cadena.php"; $resultado = explode(".", $string); substr()你不能告诉你想要结束的角色,就是这样explode()。 Black Sheep 2020-08-09T05:33:46+08:002020-08-09T05:33:46+08:00 您可以使用strtok(),它将字符串拆分为较小的字符串并将其作为字符串返回给您。 echo strtok('cadena.php', '.'); // cadena
您可以通过与 结合
substr
或strpos
与.
选项 1 更接近您要执行的操作,但如果您将一个不在字符串中的字符传递给它,则结果将是一个空字符串。
使用 always 选项
explode
,它会给你一些回报。现在,如果您希望它从字符的开头到最后一次出现返回字符串,您必须开始进行检查,例如使用
strpos
来验证字符是否存在,或者利用和验证结果数组的长度。例如,假设您的字符串是archivo.con.datos.php
并且您想要archivo.con.datos
substr()
它只允许您从指示的位置开始并继续您指示的字符数。使用explode()
substr()
你不能告诉你想要结束的角色,就是这样explode()
。您可以使用strtok(),它将字符串拆分为较小的字符串并将其作为字符串返回给您。