我想将美国州名添加到包含美国州缩写的字符串中。
例如,我想转换一个字符串数组,如:
Lorem ipsum CA dolor NY sit foo bar
至:
Lorem ipsum CA (California) dolor NY (New York) sit any foo bar
假设我的替换数组如下所示:
$states = array(
"AR" => "Arkansas",
"CA" => "California",
"NY" => "New York"
);
一种方法是进行 array_key 搜索:
$input = "Lorem ipsum CA dolor NY sit any foo bar";
$words = explode(' ', $input);
foreach ($words as $key => $word) {
if (array_key_exists($word, $states)) {
$words[$k] = $word . " (" . $states[$word] . ")";
}
}
$output = implode(" ", $words);
// Output: Lorem ipsum CA (California) dolor NY (New York) sit any foo bar
有没有更有效的方法使用原生 PHP 函数或正则表达式?
解决方案不应匹配部分匹配项(例如anyshould not matchNY和barshould not match AR)。
月关宝盒
慕的地10843
有只小跳蛙