Как реализовать htmlspecialchars для значения текстового поля?

Здравствуйте, я в настоящее время использую таблицу для ввода значений в настраиваемое метаполе. У меня есть текстовое поле с названием эпизода. Моя проблема заключается в том, что если в поле добавляются символы ' ", то все превращается в хаос. Я хочу использовать htmlspecialchars для ввода значений как " и ' вместо '". приведенный ниже код не работает для скрытия символов. Кто-нибудь может помочь?

    <p>
      <input type="text" name="episode_title[]" id="episode_title[]" value="<?php echo ($_POST['episode_title']); ?>" class="title regular-text" style="width: 98%" />
      <span class="description"><?php _e('Title of The Episode.'); ?></span>
    </p>    

person Craig    schedule 16.04.2012    source источник


Ответы (2)


добавьте это к вызову htmlspecialchars: ENT_QUOTES вот так:

<?php echo htmlspecialchars($_POST['episode_title'], ENT_QUOTES); ?>

Это позволит изменить как ", так и ' котировки.

person Manuel    schedule 16.04.2012

$_POST['episode_title'] — это массив, поэтому вам нужно получить правильное значение из массива и использовать htmlspecialchars() для этого значения.

Что-то вроде:

value="<?php echo htmlspecialchars($_POST['episode_title'][$some_key]); ?>"

Изменить: я предполагаю, что массив $_POST содержит результаты формы при ее отправке.

person jeroen    schedule 16.04.2012
comment
откуда вы знаете, что Episode_title это массив? звучит больше как струна для меня? - person Manuel; 16.04.2012
comment
@dragon112 Dragon112 Я предполагаю, что это результат отправленной формы: name="episode_title[]" - person jeroen; 16.04.2012