Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Bearbeiten von &1 bei preg_replace

tach leute,

wie wir ja fast alle wissen, sieht ein preg_replace in etwa so aus:

Code:                   In Zwischenablage kopieren (nur IE)
1">

mein frage:

wie komme ich an das $1 ran? ich möchte z.b. das $1 nochmal speziell bearbeiten z.b. leerzeichen raus oder sowas... auf jedenfall will ich es halt noch bearbeiten.

geht sowas?
Hier gehts zum Orginal Eintrag "Bearbeiten von &1 bei preg_replace" im Forum

Antworten

[doc]preg_replace_callback[/doc]


2.

nein,

das ist es wohl nicht. habe mir die funktion mal durchgelesen aber das ist es wohl nicht. ich möchte einfach die Variable $1 bearbeiten. möchte dort z.b. einen anker einbauen und deshalb alle leerzeichen aus $1 rausschmeißen.

falls doch jemand der meinung ist, das das preg_replace_callback ist, würde ich mich sehr über ein kleines codebeispiel freuen.


3.

natürlich war oimels antwort richtig:
Code:                   In Zwischenablage kopieren (nur IE)
2">

oder (je nach komplexität der callbackfunktion) kannst du auch preg_replace() mit modifier 'e' verwenden.


4.

Wenn preg_replace_callback() zu anspruchsvoll für Dich ist, kannst Du es auch mit preg_match() versuchen:

Code:                   In Zwischenablage kopieren (nur IE)
3">

In $match befindet sich anschließend ein Array, wobei $match[0] den kompletten Treffer des Patterns enthält, und $match[1] genau der Inhalt von $1 ist (der Inhalt der ersten Klammer).

Oder Du kannst bei preg_replace() noch den Modifier 'e' angeben, und beim Ersetzungspattern ein beliebiges PHP-Command (schau Dir die Doku an).

Übrigens ist $1 ohnehin Käse, der Treffer wird mit \1 angesprochen. Aber Dein Beispiel funktioniert ohnehin gar nicht, weil Du die Quotes vergessen hast.


5.

ha... jetzt versteh ich die Funktion glaube ich. Ich hatte mir die nur bei php.net durchgelesen und habe nur gedacht, dass ich bei der Callback vorher festlegen kann, was getauscht wird, ohne Bezug auf den Inhalt der gefunden wurde.

so na denn, werde ich mal mein Glück probieren.


6.

@rana
Zitat:
Übrigens ist $1 ohnehin Käse, der Treffer wird mit \1 angesprochen.

da würd ich an deiner stelle auch nochmal einen blick in die doku werfen, denn beides ist durchaus möglich ;-)


Hier gehts zum Orginal Eintrag "Bearbeiten von &1 bei preg_replace" im Forum
 
phpforum.de | Impressum