2

はっきり言って、例を挙げてください

$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com

$user = strstr($email, '@', true); // As of PHP 5.3.0
echo $user; // prints name

言うように、trueを使用して「@」の前にあるものを出力し、@に続くものを出力する場合は空白にします。

@自体に2つの文字列を与えて、それらの間の文字列を取得する関数を探しています。

このような

  $string= 'someXthing';
  $tograb = phpfunction("some","thing");
  echo $tograb; // should be printing X

^これは機能しません。説明のために書いているだけです。

4

3 に答える 3

1

それを行うネイティブ関数はわかりませんが、正規表現を使用できます

$string= 'someXthing';
preg_match("/some(.*)thing/",$string,$matches);
var_dump($matches[1]);

preg_matchについてもっと読む

于 2012-04-13T17:41:55.523 に答える
1

インターネットから

function GetBetween($content,$start,$end){
    $r = explode($start, $content);
    if (isset($r[1])){
        $r = explode($end, $r[1]);
        return $r[0];
    }
    return '';
}

元のコード

于 2012-04-13T17:58:13.490 に答える
0

あなたが言った例では、strposを使用して次のようにXを印刷できます。

$string = 'someXthing';

$start = strpos($string, "some") + strlen("some");
$end = strpos($string, "thing", $start);
$tograb = substr($string, $start, $end - $start);

echo $tograb;

Xが印刷されます。

于 2017-07-19T08:02:59.610 に答える