文字列内の<br>タグを改行JSに置き換えます

ネイサン・ゲックル

私はreactを使用しており、コメントが保持されているAPIからプルしています。brAPIはphpユーザーからのものであるため、タグ付きのコメントが複数あります。br各文字列タグを実際の改行に置き換えようとしています。私もreactを使用しているので、jQueryは使用できません。

これは私が持っているものです:

this.state.notes.forEach((note) => {
  const fixed = note.body.replace(/<br>/g, "\r\n");
  rows.push(<ListGroupItem hover href="#" className="whiter" key= 
  {note.id}>
    <div className="d-flex justify-content-between">
      <h5 className="mb-1">{ note.name }</h5>
      <small>{ commentDate }</small>
    </div> 
    <p className="mb-1">{ fixed }</p>
  </ListGroupItem>)
}

スペースに置き換えて動作しましたが、改行では動作しませんでした。どこが間違っているのですか?

編集1:@TJCrowderページでの表示方法を追加しました。rowsは空の配列であり、ListGroupItemはMDBootstrapから取得されます。

TJクラウダー

置き換える方法<br>は問題ありませんが、閉じる前にスペース>を入れ、オプションの/直前にスペースを入れることもできます>

const fixed = note.body.replace(/<br\s*\\?>/g, "\r\n");

しかし、それはあなたが得ているものがプレーンテキストではなくHTMLであるという問題を解決しません。HTMLではなくテキストをもう一方の端から送信するのが最善です。HTMLを送信することで、かなりの量の作業が可能になります。あなたはしたくないだけで置き換える<br>HTMLは、そのような名前の文字エンティティ(と、それに他のもののすべての種類を持つことができるので、改行で&lt;&amp;(のような数値文字エンティティ、など)&#003c;、)scriptタグは(の可能性を開きますXSS攻撃)など。Reactは、テキストやエスケープ<などを出力するときにスマート&であり、HTMLではなくそれらの文字として出力されるため、受信したHTMLに、たとえば、が含ま&lt;れている場合、実際には&lt;考えではありません表示、インチ 出発点がHTMLの場合、スクリプトなどを許可せずに正しく解釈することは困難です。(Reactには生のHTMLを挿入するオプションがありますが、理由のためにばかげた名前が付けられています。:-))

あなたは、標準の改行を含むテキストを、持っていたら(\r\n、または\r\n)、あなたは、独自の各行をレンダリングすることができdiv、通常であるため、出力に改行を取得するためにHTMLの改行(または空白のいずれかの実行)が1つだけですスペース:

<p className="mb-1">{
    fixed.split(/[\r\n]+/).map(line => <div>{line}</div>)
}</p>

例:

const Example = ({fixed}) => {
    return <p className="mb-1">{
        fixed.split(/[\r\n]+/).map(line => <div>{line}</div>)
    }</p>;
};

const str =
  "This is a string with line breaks.\r\n" +
  "Line 2\r\n" +
  "Line 3";
ReactDOM.render(
  <Example fixed={str} />,
  document.getElementById("root")
);
<div id="root"></div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.4.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.4.2/umd/react-dom.production.min.js"></script>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列内の<br>タグを改行JSに置き換えます

分類Dev

PHP-REGEX-preタグ内の改行を<br>に置き換えます

分類Dev

複数の<br>タグをjavascriptに置き換えます

分類Dev

Blockquote のタグ p を br に置き換えます。

分類Dev

列の「改行」をcsvファイルの「<br/>」に置き換えます-Powershell

分類Dev

ASP.NET MVCRazorビューで改行文字を<br/>に置き換えます

分類Dev

タグのみを含まない行で、改行をbrに置き換えるための正規表現

分類Dev

光沢のある出力で改行をbr()に置き換えます

分類Dev

phpは複数のbrタグを置き換えます

分類Dev

文字列「<br>↵」をjavascript配列のコンマに置き換えます

分類Dev

bs4を使用して<br>タグを改行に置き換える際の問題

分類Dev

文字列内のすべての改行を<br />要素に置き換えるにはどうすればよいですか?

分類Dev

$ sce.trustAsHtml()を使用するモデル変数の\ nを<br>タグに置き換えます

分類Dev

2つのbrを1つのjqueryに置き換えます

分類Dev

DBの<br/>をPHPのDIVに置き換えます

分類Dev

DBの<br/>をPHPのDIVに置き換えます

分類Dev

要素の文字列値を選択するためのXPathですが、<br/>は改行に置き換えられていますか?

分類Dev

BeautifulSoap出力の<br>をスペースに置き換えます

分類Dev

<br/>タグの複数のインスタンスをjavascriptの文字列内の他のインスタンスに置き換える方法は?

分類Dev

MySQLの奇妙な文字は<BRに置き換えられます

分類Dev

複数の<br/> <br> <br/> \ r \ nオカレンスは<br/>に置き換える必要があります

分類Dev

文字列内の<br>をVUE.jsのhtmlタグに解析する方法

分類Dev

文字列内のカンマをJSXの<br/>に分割します

分類Dev

タグを削除し、すべてのbrタグとpタグを1つのスペースに置き換えます

分類Dev

文字列を<br/>から\ nに置き換えると、二重の区切りが表示されます

分類Dev

文字列内の単語をタグに置き換えます

分類Dev

正規表現:内部にデータがない場合は、<div>タグの内容を<br>タグに置き換えます

分類Dev

文字列を文字列+ファイル内の改行に置き換えます

分類Dev

<br>で分割し、文字列内の強いタグを避けます

Related 関連記事

  1. 1

    文字列内の<br>タグを改行JSに置き換えます

  2. 2

    PHP-REGEX-preタグ内の改行を<br>に置き換えます

  3. 3

    複数の<br>タグをjavascriptに置き換えます

  4. 4

    Blockquote のタグ p を br に置き換えます。

  5. 5

    列の「改行」をcsvファイルの「<br/>」に置き換えます-Powershell

  6. 6

    ASP.NET MVCRazorビューで改行文字を<br/>に置き換えます

  7. 7

    タグのみを含まない行で、改行をbrに置き換えるための正規表現

  8. 8

    光沢のある出力で改行をbr()に置き換えます

  9. 9

    phpは複数のbrタグを置き換えます

  10. 10

    文字列「<br>↵」をjavascript配列のコンマに置き換えます

  11. 11

    bs4を使用して<br>タグを改行に置き換える際の問題

  12. 12

    文字列内のすべての改行を<br />要素に置き換えるにはどうすればよいですか?

  13. 13

    $ sce.trustAsHtml()を使用するモデル変数の\ nを<br>タグに置き換えます

  14. 14

    2つのbrを1つのjqueryに置き換えます

  15. 15

    DBの<br/>をPHPのDIVに置き換えます

  16. 16

    DBの<br/>をPHPのDIVに置き換えます

  17. 17

    要素の文字列値を選択するためのXPathですが、<br/>は改行に置き換えられていますか?

  18. 18

    BeautifulSoap出力の<br>をスペースに置き換えます

  19. 19

    <br/>タグの複数のインスタンスをjavascriptの文字列内の他のインスタンスに置き換える方法は?

  20. 20

    MySQLの奇妙な文字は<BRに置き換えられます

  21. 21

    複数の<br/> <br> <br/> \ r \ nオカレンスは<br/>に置き換える必要があります

  22. 22

    文字列内の<br>をVUE.jsのhtmlタグに解析する方法

  23. 23

    文字列内のカンマをJSXの<br/>に分割します

  24. 24

    タグを削除し、すべてのbrタグとpタグを1つのスペースに置き換えます

  25. 25

    文字列を<br/>から\ nに置き換えると、二重の区切りが表示されます

  26. 26

    文字列内の単語をタグに置き換えます

  27. 27

    正規表現:内部にデータがない場合は、<div>タグの内容を<br>タグに置き換えます

  28. 28

    文字列を文字列+ファイル内の改行に置き換えます

  29. 29

    <br>で分割し、文字列内の強いタグを避けます

ホットタグ

アーカイブ