1

PHPでメタデータリーダーを使用しています。これはうまく機能しますが、関数から取得した値をINPUTに入れるために使用していると、入力ボックスに奇妙な記号が表示されます。

ソースコードは次のとおりです。

if($fileStatus == 1){
    include ("include/functions.php");
    $filename=$uploaded;
    $mp3file=new CMP3File;
    $mp3file->getid3($filename);
    $hej = "hejhejhej";
    ?>
    <form>
        <input type="text" name="hej" value="<?php echo $hej;?>">
        <input type="text" name="title" value="<?php echo "$mp3file->title";?>"><br>
        <input type="text" name="artist" value="<?php echo "$mp3file->artist";?>"><br>
        <input type="text" name="album" value="<?php echo "$mp3file->album";?>"><br>
        <input type="text" name="year" value="<?php echo "$mp3file->year";?>"><br>
        <textarea name="artist"><?php echo "$mp3file->comment";?></textarea><br>
        <input type="text" name="genre" value="<?php echo "Ord($mp3file->genre)";?>"><br>
    </form>
    <?php   
}

ブラウザから取得したソースコード:

<form>
                    <input type="text" name="hej" value="hejhejhej">
                    <input type="text" name="title" value="Selene

スクリーンショット

4

3 に答える 3

0

この問題の解決策は「Trim()」です

于 2012-12-21T00:28:08.733 に答える
0

HTMLエンティティを使用してみてください。

これはUTF-8が原因である可能性があり、ブラウザはそのエンコーディングをサポートしていません。たぶん、PHPhtmlentitiesがあなたを助けるかもしれません。交換:

<?php echo $hej;?>

と:

<?php echo htmlentities($hej);?>
于 2012-12-20T23:49:41.303 に答える
0

表示される奇妙な文字は、CMP3Fileがfreadを使用して実際のMP3ファイルからバイトを取得するためです(これについて詳しく知りたい場合は、ID3タグを参照してください)。実際のバイトを文字列として表示する場合は、ord関数を次のように使用します。

<?php
    for($i = 0; $i < strlen($mp3file->title); $i++) {  
        echo ord($mp3file->title[$i]);  
    }  
?>
于 2012-12-20T23:52:42.597 に答える