Regex.Replace
一致したパターンのすべてのオカレンスを置き換えていないように見えるため、C# で問題が発生しています。
private string ReplaceBBCode(string inStr)
{
var outStr = Regex.Replace(inStr, @"\[(b|i|u)\](.*?)\[/\1\]", @"<$1>$2</$1>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
outStr = Regex.Replace(outStr, "(\r|\n)+", "<br />");
return outStr;
}
入力文字列:
[b]Saint Paul's Food Kitchen[/b] [b] [/b]Saint Paul's food kitchen opens weekly to provide food to those in need.
結果:
<b>Saint Paul's Food Kitchen</b> [b] [/b]Saint Paul's food kitchen opens weekly to provide food to those in need.
私はこれをテストしましたがregexhero.net
、そこにあるはずのものとまったく同じように機能します。
編集:
申し訳ありませんが、関数の間違ったバージョンをコピーしました。これで、正しく動作しない正しいコードが表示されます。