Regex ist nicht meine Stärke, und ich könnte dies überkompensieren, aber ich habe es geschafft, ein Muster zu entwickeln, das meinen Bedürfnissen entspricht.Wie ersetzt man die Gruppenübereinstimmung, hält alles andere intakt?
\[img.*\].*photobucket.*(.jpg)\[\/img.*\]
Hier ist eine Demo:
https://regex101.com/r/fo98tP/6
Ich wünsche das Gruppenspiel (das heißt ". jpg") mit ". jpg ~ Original" zu ersetzen.
Ich habe herausgefunden, wie die Übereinstimmungen mit preg_match_all zu bekommen, aber ich habe keine Ahnung, wie man die Substitution und injizieren sie wieder in den ursprünglichen Textblock.
Um etwas Hintergrund zu geben, ist dies zu versuchen und die neue hotlinking Politik umgehen und die Absicht ist für mein PHP-Skript durch alle Nachrichten in meinem phpBB Forum zu gehen und die Suche und ersetzen oben und aktualisieren Sie den Beitrag, wenn es ist war ein Spiel/Ersatz. Wenn es direkt in MySQL noch besser gemacht werden könnte, aber ich versuche zu laufen, bevor ich rennen kann!
Sehr schätzen jede Hilfe; mein Kopf tut weh!
Danke, ich dachte nur, nie mehr Gruppen zu definieren! Danke für den Spaziergang und den eigentlichen PHP-Code. Ich habe tatsächlich den sln-Regex unten verwendet, obwohl mir scheint, dass nur 2 Gruppen statt 3 benötigt werden. Vielen Dank euch beiden! Ersparte mir viel Haarziehen. – willdashwood