我有一个代码,可以在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
和FullName
。如果我想在上面的代码中编写一个干净简短的代码,我应该怎么做?我有更多的词要匹配并将它们联系在一起所以请给我一个干净的代码。
答案 0 :(得分:0)
你可以使用正则表达式
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; ?>