我希望能够在单词字符串的左中间字符周围放置HTML标记。这听起来很简单,但我不确定如何解释所有最常见的单词。
这是我作为我想要完成的事情的一个例子:
<?php
$word = 'WONDERLAND';
$wlen = strlen($word);
$lPad = floor($wlen/2)+1;
$rPad = ceil($wlen/2);
$left = substr($word, 0, -$lPad);
$middle = substr($word, -$lPad, 1);
$right = substr($word, -$rPad, $lPad);
echo $left.$middle.$right;
?>
输出:
WONDERLAND
或
$left(WOND).$middle(E).$right(RLAND)
我希望能够使用<b>
标记使中间字符(如果是偶数字符,两个中间字符的最左边)加粗,并且可以使用此单词。当我尝试更小的其他单词时,我遇到了问题。我是否必须为每个字长创建if
个语句?或者有更好的方法吗?
答案 0 :(得分:2)
我希望能够制作中间字符(如果是 偶数字,左边两个中间字符)粗体 带有标签,可以用这个词来做。我遇到问题的时候 我尝试其他较小的词。我是否必须创建if 每个字长的陈述?或者有更好的方法吗?
根据您的问题,这不应该更合适:
$aWord[] = 'A';
$aWord[] = 'AB';
$aWord[] = 'ABC';
$aWord[] = 'ABCD';
$aWord[] = 'ABCDE';
$aWord[] = 'ABCDEF';
$aWord[] = 'ABCDEFG';
$aWord[] = 'ABCDEFGH';
$aWord[] = 'ABCDEFGHI';
$aWord[] = 'ABCDEFGHIJ';
foreach ($aWord AS $nPos => $word)
{
$wlen = strlen($word);
$lPad = floor($wlen/2)+1;
$rPad = ceil($wlen/2);
$left = substr($word, 0, -$lPad);
$middle = substr($word, -$lPad, 1);
$right = substr($word, $rPad, $lPad);
echo "$left<b>$middle<b>$right\n";
}
输出:
<b>A<b>
<b>A<b>B
A<b>B<b>C
A<b>B<b>CD
AB<b>C<b>DE
AB<b>C<b>DEF
ABC<b>D<b>EFG
ABC<b>D<b>EFGH
ABCD<b>E<b>FGHI
ABCD<b>E<b>FGHIJ