Ich muss die Elemente ändern, die einige Inhalte in einer Zeichenfolge umgeben, den Inhalt belassen, wie es ist. Ich mache es mit einem regulären Ausdruck, aber wenn ich den Positionsparameter ($ 1) ersetze, wird nur die erste Übereinstimmung verwendet.regulärer Ausdruck: Suchen und ersetzen Sie jede Übereinstimmung
Zum Beispiel, wenn ich diese Zeichenfolge haben:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
Ich will es ändern:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
Aber ich kann nur erhalten:
<strong>I want<strong> to change <strong>this<strong> text,
but <strong>I can't<strong>. <strong>Why?<strong>.
I‘ m unter Verwendung des folgenden Regex:
(global, und es mit „<$1>
“ ersetzt) denke ich, das Problem ist, kann ich nicht sagen, wie viele Spiele gefunden werden, und wie man jeden Bezug zu nehmen. Vielleicht hätte ich in Perl $ + verwenden können, aber das funktioniert nicht. Ich mache das mit dem Regex-Modul von Yahoo Pipes. Es sollte PHP-Implementierungen sehr ähnlich sein, afaik.
Wie kann ich jedes Match separat in Yahoo Pipes verwenden?
brauche ich für die zwei Durchgänge zu tun? eine, um die < s und eine andere für die > s zu ändern? (Danke!) –
Es wären zwei Durchgänge. Führen Sie einfach eine Zeichenfolge ersetzen auf <und> und dann injizieren Sie Ihre neue Zeichenfolge in die Webseite. – mlevit
Ich bin nicht vertraut mit Yahoo Pipes, aber die meisten regulären Ausdruck-Engines haben alle Funktionen irgendeiner Art zu ersetzen. Sie müssten 'replaceAll (" < "," <")' und 'replaceAll (" > ","> ")', also ja, zwei Operationen wären erforderlich. –