-2

私はhtmlフォームから得られる次のテキストが好きです。今、私はそれをdbに保存したいと思います。<BR />保存する前に、タグに置き換えて改行を解析する必要があります。

タグの外側のテキストを置き換えて、タグ<pre>の内側にあるテキストを残すだけです<pre></pre>

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

 strTxt="aaaaaaaaaaaa
    bbbbbbbbbbb
     <pre>
      sss ssss
      sss ddd
     </pre>
    asdafdsf
    sfsfsdf
     <pre>
      sfdsf
      sdfs
     </pre>
    asfasfsaf"

そして、私は結果を次のようにしたいと思います。

strTxt="aaaaaaaaaaaa<br />
    bbbbbbbbbbb<br />
     <pre>
      sss ssss
      sss ddd
     </pre>
    asdafdsf<br />
    sfsfsdf<br />
     <pre>
      sfdsf
      sdfs
     </pre>
    asfasfsaf"
4

2 に答える 2

1

一般に、HTML などの構造化テキストを操作する場合は文字列操作を使用しないでください。ただし、<pre>ネストされていない特殊なケースです。だからあなたは逃げることができます:

Function BrNonPre(sAll)
  Dim csDelim : csDelim = "pre>" & vbCrLf
  Dim aAll    : aAll    = Split(sAll, csDelim)
  Dim i
  For i = 0 To UBound(aAll) Step 2
      aAll(i) = Replace(aAll(i), vbCrLf, "<br />" & vbCrLf)
  Next
  BrNonPre = Join(aAll, csDelim)
End Function

出力例:

=======================
aaaaaaaaaaaa
bbbbbbbbbbb
<pre>
  sss ssss
  sss ddd
</pre>
asdafdsf
sfsfsdf
<pre>
  sfdsf
  sdfs
</pre>
asfasfsaf
----------
aaaaaaaaaaaa<br />
bbbbbbbbbbb<br />
<pre>
  sss ssss
  sss ddd
</pre>
asdafdsf<br />
sfsfsdf<br />
<pre>
  sfdsf
  sdfs
</pre>
asfasfsaf
=======================
于 2013-03-20T15:05:50.357 に答える
0

次のようにハードコーディングできます

 <%
 dim strTxt
 strTxt="aaaaaaaaaaaa<br />" & vbCrLf
 strTxt=strTxt & "bbbbbbbbbbb" & vbCrLf
 strTxt=strTxt & "<pre>" & vbCrLf
 strTxt=strTxt & "sss ssss" & vbCrLf
 strTxt=strTxt & "sss ddd" & vbCrLf
 strTxt=strTxt & "</pre>" & vbCrLf
 strTxt=strTxt & "asdafdsf<br />" & vbCrLf
 strTxt=strTxt & "sfsfsdf" & vbCrLf
 strTxt=strTxt & "<pre>" & vbCrLf
 strTxt=strTxt & "sfdsf" & vbCrLf
 strTxt=strTxt & "sdfs" & vbCrLf
 strTxt=strTxt & "</pre>" & vbCrLf
 strTxt=strTxt & "asfasfsaf"

 Response.Write(strTxt)
 %>
于 2013-03-20T09:41:33.010 に答える