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 回答