1

これは、例を挙げて説明するのが一番です。

何かを行う前の行は次のとおりです: Monohydrogen_Phosphate HPO%4^2-

これが私がこれまでに行ったことです。HPO%4^2-

終了時の状態は次のとおりです。HPO 4 2-

%最初の数字 (ある場合) と + または - 記号 (ある場合) を<sub>タグに^挿入し、 は最初の数字と +/- を<sup>タグに挿入します。

Javascript の RegEx 置換を使用していますが、PHP に切り替えてもかまいません。

4

4 に答える 4

3
var txt = "HPO%4^2-";
txt = txt.replace(/%(\d*[+-]?)/, "<sub>$1</sub>");
txt = txt.replace(/\^(\d*[+-]?)/, "<sup>$1</sup>");

txt     //HPO<sub>4</sub><sup>2-</sup>

どうぞ。

詳細については、MDN replace- 例: 文字列内の単語の切り替えを参照してください。

于 2012-07-20T00:16:30.360 に答える
2

数字と記号を許可する例:

var str = "HPO%4^2-";
var html = str
    .replace(/%([\d\-+]+)/g, "<sub>$1</sub>")
    .replace(/\^([\d+\-]+)/g, "<sup>$1</sup>");

/g複数の置換を許可する場合は、修飾子が必要になることに注意してください。

于 2012-07-20T00:19:57.420 に答える
1
于 2012-07-20T00:54:47.840 に答える
1

これははるかに良い例です:

var text = "Monohydrogen Phosphate | HPO%4^2-";
text = text.replace(/%(\d+[+-]?)/, "<sub>$1</sub>");
text = text.replace(/\^(\d+[+-]?)/, "<sup>$1</sup>");
于 2012-07-20T00:21:18.320 に答える