2016-02-07 1 views
1

Я знаю, что это старый, потому что я искал в Интернете 3 часа, и я просто не могу понять это. Я знаю, что где-то в моем коде мне нужно поставить html_entity_decode или htmlspecialchars_decode, потому что я считаю, что объекты html не возвращаются при извлечении из базы данных ... но где? Неважно, редактирование или создание ... и я попытался использовать как CKeditor, так и TinyMce. То же самое происходит. Без плагинов .. без каких-либо изменений, внесенных в редакторы.Вывод HTML-тегов CKeditor и TinyMCE на опубликованное содержимое

Редактирование

<?php find_selected_page(); ?> 

<?php 
if (isset($_POST['submit'])) { 
// Process the form 

$id = $current_subject["id"]; 
$menu_name = mysql_prep($_POST["menu_name"]); 
$position = (int) $_POST["position"]; 
$visible = (int) $_POST["visible"]; 
$content = mysql_prep($_POST["content"]); 

// validations 
$required_fields = array("menu_name", "position", "visible", "content"); 
validate_presences($required_fields); 

$fields_with_max_lengths = array("menu_name" => 30); 
validate_max_lengths($fields_with_max_lengths); 

if (empty($errors)) { 

// Perform Update 

$query = "UPDATE subjects SET "; 
$query .= "menu_name = '{$menu_name}', "; 
$query .= "position = {$position}, "; 
$query .= "visible = {$visible}, "; 
$query .= "content = '{$content}' "; 
$query .= "WHERE id = {$id} "; 
$query .= "LIMIT 1"; 
$result = mysqli_query($connection, $query); 

if ($result && mysqli_affected_rows($connection) == 1) { 
    // Success 
    $_SESSION["message"] = "Stranica uređena."; 
    redirect_to("manage_content.php?subject={$id}"); 
} else { 
    // Failure 
    $_SESSION["message"] = "Uređivanje stranice neuspjelo."; 
} 

} 
} else { 
    // This is probably a GET request 

} // end: if (isset($_POST['submit'])) 

?> 

Вот где он повторил

<textarea name="content" id="editor1" class="form-control" rows="20" cols="80"><?php echo htmlentities($current_subject["content"]); ?></textarea> 
             <script> 

             // Replace the <textarea id="editor1"> with a CKEditor 
             // instance, using default configuration. 
             CKEDITOR.replace('editor1', { 
               language: 'hr',                               

              }); 
             </script> 

Вот функции

function find_all_subjects($public=true) { 
    global $connection; 

    $query = "SELECT * "; 
    $query .= "FROM subjects "; 
    if($public) { 
     $query .= "WHERE visible = 1 "; 
    }  
    $query .= "ORDER BY position ASC"; 
    $subject_set = mysqli_query($connection, $query); 
    confirm_query($subject_set); 
    return $subject_set; 
} 
function find_subject_by_id($subject_id, $public=true) { 
    global $connection; 

    $safe_subject_id = mysqli_real_escape_string($connection, $subject_id); 

    $query = "SELECT * "; 
    $query .= "FROM subjects "; 
    $query .= "WHERE id = {$safe_subject_id} "; 
    if($public){ 
     $query .= "AND visible = 1 "; 
    } 
    $query .= "LIMIT 1"; 
    $subject_set = mysqli_query($connection, $query); 
    //Test if there was a query error 
    confirm_query($subject_set); 
    if($subject = mysqli_fetch_assoc($subject_set)) { 
    return $subject; 
    }else { 
     return null; 
    } 
} 

function find_selected_page($public=false) { 
    global $current_subject; 
    global $current_page; 

    if(isset($_GET["subject"])) { 

     $current_subject = find_subject_by_id($_GET["subject"], $public); 
     $current_page = null; 
    }elseif (isset($_GET["page"])) { 

     $current_page = find_page_by_id($_GET["page"], $public); 
     $current_subject = null; 
    }else{ 

     $current_subject = null; 
     $current_page = null; 
    } 

} 

Таким образом, в конце концов, это должно выглядеть следующим образом: Вот это некоторые текст на публичной странице

Вместо этого он выглядит следующим образом

<p>Here is <strong>some</strong> text on the public page</p> 

Есть ли что-нибудь еще добавить сюда из кода, нужно видеть?

Любые предложения?

Можно ли отобразить эхо-текст, а затем редактор принимает его и отображает его без тэгов html?

Или как я могу это использовать?

PHP’s strip_tags() equivalent MYSQL function

Если я добавить

$content = mysql_prep(strip_tags(html_entity_decode($_POST["content"]))); 

тогда нет никакого форматирования текста ..

Заранее спасибо ...

ответ

3

я получил его ... Оказывается, я был глядя на неправильную вещь ... Я смотрел «страницу редактирования» и много искал, но мне просто пришлось применить html_entity_decode, где содержимое было показано на стороне клиента или в моем случае также в «управление контентом» ... я даже не включать эту часть в этом вопросе ... так глупо ...: D

<?php echo html_entity_decode($current_subject["content"]); ?> 

может быть, это поможет кому-то в будущем. .. :)