XHTML и код в текстовых областях

Если я правильно понимаю, вы хотите, чтобы ваша функция разрешалась независимо от того, была ли у вас ошибка, или нет. Если это так, вы можете просто resolve в любом случае:

async function getFile (name) {
  return new Promise(function (resolve, reject) {
    fs.readFile(`./dir/${name}.txt`, 'utf8', function (error, file) {
      if (error) resolve(error)
      else resolve(file)
    })
  })
}

Тогда вам придется обрабатывать ошибки снаружи, например,

getFile('name')
  .then(getFileOutput => {
    if (getFileOutput instanceof Error) {
      // we got an error
    } else {
      // we got a file
    }
  })

или

const getFileOutput = await getFile('name');
if (getFileOutput instanceof Error) {
  // we got an error
} else {
  // we got a file
}

Это то, что вы ищете?

5
задан Derek H 12 October 2008 в 21:12
поделиться

6 ответов

есть ли причина, Вы пытаетесь поместить a <p> в <textarea>? как Вы узнали, это не допустимо. если это в целях дисплея (т.е., показывая код) это должно быть переведено:

<textarea>&lt;p&gt;text&lt;/p&gt;</textarea>

вне проблем проверки, позволяя произвольным тегам (которые правильно не кодируются как выше) отображаться может быть огромная проблема безопасности. это главно, чтобы удостовериться, что предоставленный вход любого пользователя был правильно санирован, прежде чем это будет отображено.

8
ответ дан 13 December 2019 в 05:44
поделиться

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

eg: replace < > with &lt; &gt;

<textarea cols="" rows="">&lt;p&gt;text&lt;/p&gt;</textarea>

<p> текст </p>

0
ответ дан 13 December 2019 в 05:44
поделиться

Раздел CDATA был бы опцией для Вас?

<textarea><![CDATA[
    <p>Blah</p>
]]></textarea>
3
ответ дан 13 December 2019 в 05:44
поделиться

Вы могли использовать эту функцию на отправленных данных

function clean_data($value) {
    if (get_magic_quotes_gpc()) { $value = stripslashes($value); }
    $value = addslashes(htmlentities(trim($value)));
    $value = str_replace("\'", "&#39;", $value);
    $value = str_replace("'", "&#39;", $value);
    $value = str_replace(":", "&#58;", $value);
    return $value;
}
0
ответ дан 13 December 2019 в 05:44
поделиться

Действительно ли я прав в размышлении Вашей попытки сделать WYSIWYG-редактор, такой как TinyMCE? То, что большинство, кажется, делает, использовать объекты HTML в textarea и преобразуйте его в HTML через JavaScript.

1
ответ дан 13 December 2019 в 05:44
поделиться

Можно не учесть теги в текстовой области, и когда Вам нужно использование новых строк \n, Иначе используют &lt;p&gt; и &lt;/p&gt; вместо Ваших тегов.

0
ответ дан 13 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: