是否有PHP函数来拉出两个字符之间的字符串?

Joh*_*ohn 2 php

是否有一个PHP函数可以在两个字符之间抓取字符串.例如,我想知道百分比和美元符号之间的区别:

%HERE $

这有什么作用?

Pas*_*TIN 7

你可以用正则表达式做到这一点:

$string = 'test%HERE$glop';

$m = array();
if (preg_match('/%(.*?)\$/', $string, $m)) {
  var_dump($m[1]);
}
Run Code Online (Sandbox Code Playgroud)

会得到你:

string 'HERE' (length=4)
Run Code Online (Sandbox Code Playgroud)


几个笔记:

  • $图案中的具有被转义的,因为它具有特殊的含义(字符串的结尾)
  • 你想要匹配一切: .*
    • 这是%和之间的$
    • 但在非gready模式下: .*?
  • 你想要捕获 - 因此它()周围.