11

私はこのように少し見える文字列を持っています、world:region:bash

フォルダ名を分割するので、FTP機能のパスを作成できます。

ただし、文字列の最後の部分を削除できるようにする必要がある場合があります。たとえば、

私はこれを持っていますworld:region:bash

これを入手する必要がありますworld:region

スクリプトはフォルダ名が何であるかを知ることができないので、最後のコロンの後の文字列を削除できるようにする必要があります。

4

6 に答える 6

22
$res=substr($input,0,strrpos($input,':'));

strposではなくstrrposが、指定された文字列内の部分文字列の最後の出現を検出することを強調する必要があります

于 2012-09-08T21:29:05.553 に答える
6
$tokens = explode(':', $string);      // split string on :
array_pop($tokens);                   // get rid of last element
$newString = implode(':', $tokens);   // wrap back
于 2012-09-08T21:31:43.650 に答える
3

次のようなものを試してみてください。

<?php
  $variable = "world:region:bash";
  $colpos = strrpos($variable, ":");
  $result = substr($variable, 0, $colpos);
  echo $result;
?>

または...この情報を使用して関数を作成すると、次のようになります。

<?php
  function StrRemoveLastPart($string, $delimiter)
  {
    $lastdelpos = strrpos($string, $delimiter);
    $result = substr($string, 0, $lastdelpos);
    return $result;
  }

  $variable = "world:region:bash";
  $result = StrRemoveLastPart($variable, ":");
?>
于 2012-09-08T21:33:24.053 に答える
2

文字列を分解し、最後の要素を削除します。もう一度文字列が必要な場合は、implodeを使用してください。

$items = array_pop(explode(':', $the_path));
$shotpath = implode(':', $items);
于 2012-09-08T21:29:32.567 に答える
1

正規表現/:[^:]+$/preg_replaceを使用します

$s = "world:region:bash";
$p = "/:[^:]+$/";
$r = '';

echo preg_replace($p, $r, $s);

デモ

$これが文字列の終了を意味する方法がどのように使用されているかに注意してください。

于 2012-09-08T21:34:22.103 に答える
-1
<?php
$string = 'world:region:bash';
$string = implode(':', explode(':', $string, -1));
于 2016-04-20T13:38:50.570 に答える