如何更改下面的代碼段以獲取分隔符之間的第一個和第二個值?
輸出示例:第一個值:9100450和第二個值:HHkk基于searchfor值:12348888
$input = '0123456|BHKAHHHHkjkjkjkjk|12345678|JuiKKK121255
9100450|HHkk|12348888|JuiKKK10000000021sdadad255';
$searchfor = '12348888';
$regexp = "/(?<=" . $searchfor . "\\|)\\w /m";
$result = preg_match_all($regexp, $input, $matches);
print_r($matches);
uj5u.com熱心網友回復:
您可以使用
$regexp = "/^([^|] )\|([^|] )\|" . $searchfor . "\|/m";
請參閱PHP 演示和正則運算式演示。詳情:
^-(這里,由于m)一行的開始([^|] )-第1組:比其它任何一個或多個字符|炭\|- 一個|字符([^|] )-第2組:比其它任何一個或多個字符|炭\|- 一個|字符12348888- 一些硬編碼值\|- 一個|字符。
如果你的$searchfor值可以包含特殊字符,替換$searchfor用preg_quote($searchfor, '/')的代碼。
看一個PHP 演示:
$input = '0123456|BHKAHHHHkjkjkjkjk|12345678|JuiKKK121255
9100450|HHkk|12348888|JuiKKK10000000021sdadad255';
$searchfor = '12348888';
$regexp = "/^([^|] )\|([^|] )\|" . $searchfor . "\|/m";
if (preg_match($regexp, $input, $match)) {
$val1 = $match[1];
$val2 = $match[2];
echo "$val1\n$val2";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382287.html
