У меня есть код, который находит слова Alabama и Michigan внутри $l и возвращает условие if:
<?php if (trim($l) == "Alabama" || trim($l) == "Michigan"): ?>
<a href = "http://www.example.com/"><?= $l ?></a>
<?php else: ?>
<a href = "http://www.example.com/"></a>
<?php endif; ?>
Иногда у меня нет Alabama и Michigan внутри $l, но у меня есть AL и MI, которые связаны с Alabama и Michigan, и в этом случае я хочу заменить AL и MI на Alabama и Michigan. Если я хочу сделать это внутри приведенного выше кода, чтобы написать чистый и короткий код, как мне это сделать? У меня есть намного больше слов, чтобы сопоставить и связать их вместе, поэтому, пожалуйста, дайте мне чистый код.






вы можете использовать регулярное выражение как
if (preg_match('(Michigan|Alaska|MI|AL)', $l) === 1) {
........
}
в твоем случае
<?php if (preg_match('(Michigan|Alaska|MI|AL)', $l) === 1): ?>
<a href = "http://www.example.com/"><?= $l ?></a>
<?php else: ?>
<a href = "http://www.example.com/"></a>
<?php endif; ?>
или для замены
<?php
$short = ["MI", "AL"];
$long = ["Michigan", "Alaska"];
$newl = str_replace($short, $long, $l);
?>
<?php if (preg_match('(Michigan|Alaska)', $newl) === 1): ?>
<a href = "http://www.example.com/"><?= $newl ?></a>
<?php else: ?>
<a href = "http://www.example.com/"></a>
<?php endif; ?>
Вы упускаете ту часть, где пользователь хочет заменить, например, AL на Alabama.
Допустим, у меня есть «Монтгомери, -AL» в «$ l», тогда ваш код должен возвращать «Алабама» для «$ l».
@AnwarNairi ... замена бесполезна ... регулярное выражение может проверять наличие MI и AL напрямую, без замены ... мне кажется, что использование регулярного выражения без замены кажется намного более ясным и чистым
@Smith, я не понимаю .. самая сложная часть для вас - это замена строки .. ??? дай мне знать
Да, точно, проблема в замене
это очень близко, но обновите свой ответ, заменив «Алабама» на «Монтгомери, -AL» целиком, а не только на «AL»
это не служба кодирования .. и глядя на ваш исходный вопрос.,. нет ссылки на ваши последние комментарии ... .. в вашем OP вы говорите только о том, что измените КОД состояния с именем состояния .. не другие .. вы должны попробовать себя создать строку, которая вам нужна .. не спрашивайте других написать код для вас ..
Хорошо, я приму твой отказ и задам этот вопрос в другой раз. Благодарность
so please give me a clean code- так работает SO. Мы не пишем ваш код за вас. Вам придется написать это самостоятельно, и если это не сработает, вы можете спросить об этом.