0

特定の値が 0 に設定されるたびにアイテムを太字にする小さなスクリプトを書きました。しかし、同じことを繰り返しているような気がします...この繰り返しを避ける方法はありますか?

$output .= '<td>';
if ('0' == $value['treated']) {
    $output .= '<b>';
}
$output .= $value['from'];
$output .= substr($value['message'], 20);
if ('0' == $value['treated']) {
     $output .= '</b>';
}
$output .= '</td>';
4

5 に答える 5

5

代わりにクラスを設定できますか?

$output .= '<td' . ('0' == $value['treated'] ? ' class="bold"' : '') . '>';
$output .= $value['from'];
$output .= substr($value['message'], 20);
$output .= '</td>';

あとは、追加するだけです

.bold { font-weight: bold; }

あなたのcssファイルに

于 2012-06-07T10:18:20.850 に答える
1
$output = $value['from'] . substr($value['message'], 20);

if ('0' == $value['treated']) {
    $output = "<b>$output</b>";
}

$output = "<td>$output</td>";
于 2012-06-07T10:19:50.903 に答える
0
$dom = new DOMDocument;
$dom->loadHTML('<html/>');
$body = $dom->documentElement->appendChild($dom->createElement('body'));
for ( $i = 0; $i < 100; ++$i ) {
    $div = $body->appendChild($dom->createElement('div'));
    if ( rand() % 2 ) {
        $div->setAttribute('class', 'highlighted');
        $div->nodeValue = 'bold';
    } else {
        $div->nodeValue = 'normal';
    }
}
die($dom->saveHTML());
于 2012-06-08T13:10:09.497 に答える
0

これがあなたが探しているものかどうかはわかりませんが、コンテンツをバッファリングすることができます:

$output .= "<td>";
$buffer = $value['from'];
$buffer = substr($value['message'], 20);
$output .= ('0' == $value['treated'])
    ? "<b>" . $buffer . "</b>"
    : $buffer;

編集:decezeが最初だったようです:)

于 2012-06-07T10:21:05.783 に答える
0

これはあなたが達成できる簡単な方法です

$output .= '<td>';
        $bs = '';
        $be = '';
        if ('0' == $value['treated']) {
            $bs = '<b>';
            $be = '</b>';
        }
        $output .= $bs;
        $output .= $value['from'];
        $output .= substr($value['message'], 20);
        $output .= $be;
    $output .= '</td>';   

また

$output .= '<td';
    if ('0' == $value['treated']) {
        $output .=' style="font-weight:bold;"';
    }
    $output .= '>';
    $output .= $value['from'];
    $output .= substr($value['message'], 20);
$output .= '</td>';
于 2012-06-07T10:23:04.217 に答える