【发布时间】:2021-02-09 17:33:22
【问题描述】:
我一直在寻找,直到我脸色发青,但还没有找到解决方案。我想检查一个字符串以查看其中是否包含 2 个字母的状态缩写之一。我可以找到它并将其大写,但如果它是单词的一部分,它也会将缩写大写(我不希望它这样做)。
我下面的代码输出“想在东华盛顿工作吗?”
当我希望它输出“Want To Work In Eastern WA?”时。
这是我正在使用的东西,希望有人能告诉我我做错了什么。谢谢!
$newheading = "Want To Work In Eastern Wa?"; // This variable is not always the same.
$states = "Al Ak Az Ar Ca Co Ct De Fl Ga Hi Id Il In Ia Ks Ky La Me Md Ma Mi Mn Ms Mo Mt Ne Nv Nh Nj Nm Ny Nc Nd Oh Ok Or Pa Ri Sc Sd Tn Tx Ut Vt Va Wa Wv Wi Wy";
$pieces = explode(" ", trim($newheading));
foreach($pieces as $v) {
if ((strlen($v) == 2) && ($v != "In") && ($v != "Or")) {
$newv = strtoupper($v);
$out = str_replace($v, $newv, $pieces);
$out = implode(" ", $pieces);
$newheading = $out;
break;
}
}
【问题讨论】:
-
你放弃了吗?