最後に「-」が出現する前に文字列の一部を取得したいのですが、
例えば、
$string1 = 'a-b-c-de-f-gfgh';
この部分を返したい:abc-de-f。もちろん、最後の部分の長さはわかりません。
それを行う簡単な方法は何ですか?
ありがとうございました
最後に「-」が出現する前に文字列の一部を取得したいのですが、
例えば、
$string1 = 'a-b-c-de-f-gfgh';
この部分を返したい:abc-de-f。もちろん、最後の部分の長さはわかりません。
それを行う簡単な方法は何ですか?
ありがとうございました
echo substr ($string1, 0, strrpos ($string1, '-'));
strrpos()は、サブ文字列の最後の出現を検出します。この場合、substr()は、元の文字列を0番目の文字からstrrpos()で定義されたn番目の文字まで分割します。
使用の最後のオカレンスを取得し、
を使用-
して0から$xまでの決定された文字列を返します$x = strrpos($string1,'-');
substr()
echo substr ($string1, 0, $x);
その最後の部分を削除することができます:
$string = preg_replace("|-[^-]+$|", "", $string);
他のポスターの代わりとして:
preg_match('/(.*)-[^-]+/', 'a-b-c-de-f-gfgh', $result);
結果:
Array
(
[0] => a-b-c-de-f-gfgh-a
[1] => a-b-c-de-f-gfgh
)
私はJeroensソリューションがもっと好きですが。