c# Regex ersetzen <br /> oder [br /], um "\n" zwischen [pre=html]code[br /]code[/pre]
Habe ich diesen code ersetzt, den BBCode zu html, das problem entsteht, wenn ich will ersetzen Sie die tags <br />
oder [br /]
innerhalb [pre=html] code [/pre]
.
Regex exp; string str;
str = "more text [pre=html] code code code code [br /] code code code [br /] code code [/pre] more text";
str = str.Replace("[br /]","<br />");
exp = new Regex(@"\[b\](.+?)\[/b\]");
exp.Replace str = (str,"<strong>$1</strong>");
......
exp = new Regex (@ "\[pre\=([a-z\]]+)\]([\d\D\n^]+?)\[/pre\]");
str = exp.Replace(str, "<pre class=\"$1\">" + "$2" + "</pre>");
Als würden Sie ändern <br />
oder [br /]
mit "\n" innerhalb [pre=html] code [/pre]
oder <pre class=html> code </pre>
- Welche Art von problem haben Sie? Ein wenig mehr Erklärung würde uns helfen, Ihnen zu helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist im Allgemeinen nahezu unmöglich, auf die ausdrückliche Einschränkung, dass sich etwas nur entsprechen, wenn es in zwischen eine matched-pair-etwas anderes, das in einem einzigen regex.
Es ist einfacher, aufgeteilt in mehrere Operationen, in denen Sie zuerst das
[pre]
Blöcke und verarbeiten dann Ihre Inhalte separat. Es macht den code leichter zu schreiben, zu verstehen und zu Debuggen als gut.Hier ist ein Beispiel, wie dies zu erreichen:
Werden Sie haben, um es zu ändern, wie erforderlich, um weitere Verarbeitung, aber ich denke, das wird erhalten Sie begann.