0

ShowtimeというWordPressプラグインからの出力をカスタマイズしようとしています。Showtimeには、スケジュールに入力された内容を出力するための次のJavascriptが含まれています。スタイリングの理由で、私はショーのためにプラグイン管理エリアに入ります-

<h3>Drivetime</h3><p>with Davie Boy</p>

私が抱えている問題は、これが文字通りページに印刷/エコーされ、HTMLがpreタグでラップされているかのようにレンダリング/処理されないことです。

次のJavaScriptがショーを出力することを理解していますが、実際にhtmlをエコーせずに処理するには、どうすればよいでしょうか。正しい用語を使用していない場合は申し訳ありません。

どんな助けでも大歓迎

ロブ

アップデート

コメントをありがとう-私に考えさせるために。このJavaScriptは、crud.phpというPHPスクリプトからShownameを取得しています。これを見ると、これはcrud.phpの問題のある行である可能性があります

$showname   = htmlentities(stripslashes(($_POST['showname'])));

javascript自体ではなく?

jQuery(function($){

function get_current_show() {
//Get the current show data
$.post(crudScriptURL, {"crud-action" : "read", "read-type" : "current"}, function (currentShowJSON) {

    var schedule = $.parseJSON(currentShowJSON);
    var outputHTML = '';

    var currentShow = schedule['current-show'];
    if (currentShow.showName){
        var currentShowName = currentShow.showName;
        var imageURL = currentShow.imageURL;
        var linkURL = currentShow.linkURL;
        var startClock = currentShow.startClock;
        var endClock = currentShow.endClock;

        outputHTML += '<div id="showtime">'+currentShowName+'</div>';

        if (imageURL){
            if (linkURL){
                outputHTML += '<a href="'+linkURL+'"><img class="showtime-image-thumbnail" src="'+imageURL+'" alt="'+currentShow.showName+'" /></a>';
            } else {
                outputHTML += '<img class="showtime-image-thumbnail" src="'+imageURL+'" alt="'+currentShow.showName+'" />';
            }
        }

    } else {

        outputHTML += '<h3 class="current-show">'+currentShow+'<h3>';

    }

    var upcomingShow = schedule['upcoming-show'];
    if (upcomingShow){
        var upcomingShowName = upcomingShow.showName;
        var upcomingShowLink = upcomingShow.linkURL;
        var upcomingStartClock = upcomingShow.startClock;
        var upcomingEndClock = upcomingShow.endClock;

        if (upcomingShowLink){
            outputHTML += '<h3 class="upcoming-show"><strong>Up next:</strong> <a href="'+upcomingShowLink+'">'+upcomingShowName+'</a></h3>';
        } else {
            outputHTML += '<h3 class="upcoming-show"><strong>Up next:</strong> '+upcomingShowName+'</h3>';
        }

        outputHTML += '<span>'+upcomingStartClock + ' - ' + upcomingEndClock + '</span>';

    }

    $('.showtime-now-playing').html(outputHTML);

    //Set a timer to update the widget every 30 seconds
    setTimeout (get_current_show, (30 * 1000));

});

}

get_current_show();


});
4

1 に答える 1

1

これらに一貫した形式があり、表示の一部としてシンボルを実際に使用する必要がない場合は、jquery関数に一種のパーサーを実装できます。たとえば、と入力する<h3>Drivetime</h3><p>with Davie Boy</p>と、コードで次のようになります。

var currentShowName = $('<div/>').html(currentShow.showName).text();
于 2012-10-07T12:35:44.380 に答える