1_0_这是字符串
456_1_This_is_other_string_next
1999999_12_Is-string-too
获取方法:这是字符串,This_is_other_string_next,也是字符串
谢谢
答案 0 :(得分:4)
只是一个思考的例子:
echo explode('_', '1_0_This is string', 3)[2];
echo explode('_', '1999999_12_Is-string-too', 3)[2];
答案 1 :(得分:1)
您可以尝试使用_
分解原始字符串,并使用explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] ) : array
分隔(请参见http://php.net/manual/en/function.explode.php)。
比您可以计算结果数组中的项目数并相应地返回一些内容。
示例...
$string = "1_0_This is string";
$parts = explode('_', $string);
$result = "";
if (count($parts) >= 3) {
$result = $parts[2];
}
print $result;
答案 2 :(得分:0)
使用preg_replace进行限制
echo preg_replace('/[^_]+_/', '', '1999999_12_Is-string-too', 2);
输出
Is-string-too
正则表达式很简单。匹配除_
以外的所有内容_
(超过一次,贪婪)。限制2次更换。
使用Preg Split
print_r(preg_split('/^([^_]+_){2}/', '456_1_This_is_other_string_next', -1, PREG_SPLIT_NO_EMPTY));
输出
Array
(
[0] => This_is_other_string_next
)
基本上是相同的正则表达式,但是此正则表达式与模式发生的前2次匹配。您可以使用preg_replace进行相同的操作,但是在那里毫无意义。