Ich versuche preg_replace zu verwenden Klammer ersetzen mit einem Unterstrich, außer wenn diese Klammer in einem Codeblockpreg_replace nur, wenn nicht in einem Block
Exemple:
this is my {text}
And this is <code>if (true) { echo "hello world" }</code>
And also a multine line one
<code>
if (true) { echo "hello world" }
</code>
Another {my super text}
Ich muss Ausgabe:
this is my _text_
And this is <code>if (true) { echo "hello world" }</code>
And also a multine line one
<code>
if (true) { echo "hello world" }
</code>
Another _my super text_
Danke
So zeigen, was Sie bisher versucht haben. Wir (vielleicht) reparieren den Code, den Sie geschrieben haben. Wir sind nicht hier, um deine Arbeit für dich zu tun. –
Ihr Text ist keine reguläre Sprache. Daher können Sie es nicht ordnungsgemäß mit einem regulären Ausdruck analysieren. Sie müssen es linear manuell analysieren. – kainaw
Verwenden Sie eine andere Methode zum Extrahieren der Nicht-Code-Abschnitte der Zeichenfolge. Dann machen Sie den 'preg_replace' darauf und fügen Sie ihn zusammen mit den Codeblöcken zurück. – Barmar