0
<?php
    $tr_no = mysql_num_rows($query);
    $ii = 0; //iterator;
    while($news = mysql_fetch_array($query))

        //replacing special characters
        $replacename = eregi_replace(" ",  "-", $news['3']);
        $pattern = array();
        $pattern[0] = '-';
        $pattern[1] = "'";
        $replace = array();
        $replace[0] = '&#45;';
        $replace[1] = '&#39;';
        $news['2'] = preg_replace($pattern,$replace,$news['2']);
        $news['1'] = preg_replace($pattern,$replace,$news['1']);
        echo "<div style='width: 600px;' align='center'>";
        if($ii % 2 == 0){
            echo "<div style='width: 290px; height: 350px; float: left; padding:5px;'><h3 style='color:#ff0000; font-size: 14px;'>".$news['2']."</h3><p style='font-size:12px;'>".$news['1']."...</p><p><a href=\"".$href ."/". $replacename ."/item/".$news['0']."\">read more...</a></p></div>";
        }
        if($ii % 2 == 1){
            echo "<div style='width: 290px; height: 350px; float: left; padding:5px;'><h3 style='color:#ff0000; font-size: 14px;'>".$news['2']."</h3><p style='font-size:12px;'>".$news['1']."...</p><p><a href=\"".$href ."/". $replacename ."/item/".$news['0']."\">read more...</a></p></div>";
        }
        echo "</div>";
        $ii++;
    }
?>

コードはループ中にデータベースから文字列を出力しますが、一部の文字は html 形式では無効に見えます。詳細を参照してください : http://ipayabribenaija.com/newsletter2.php状況。str_replace()preg_replace()

どうすればこのタスクを達成できますか?

4

2 に答える 2

0

エンコーディング/デコーディングの問題ではない場合は、htmlentities phpの関数を試してみませんか?

于 2012-06-07T12:09:05.067 に答える
0

試す

$str = mb_decode_numericentity($str, array(0, 0x10FFFF, 0, 0xFFFFFF), 'UTF-8');

すなわち

$news[2] =  mb_decode_numericentity($news[2], array(0, 0x10FFFF, 0, 0xFFFFFF), 'UTF-8');
于 2012-06-07T12:02:31.267 に答える