Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4952
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail |
|---|---|
| From | Detlef Paschke <schabau@t-online.de> |
| Newsgroups | de.comp.lang.php |
| Subject | Re: Ist hier noch jemand? str_replace multiple replacement |
| Date | Tue, 5 Nov 2024 10:03:00 +0100 |
| Message-ID | <vgcn02$6n4u$1@solani.org> (permalink) |
| References | <vgavv1$5s7v$1@solani.org> <1t67294ef1i26d911n3e8%sfroehli@Froehlich.Priv.at> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8 |
| Content-Transfer-Encoding | 8bit |
| Injection-Date | Tue, 5 Nov 2024 09:02:58 -0000 (UTC) |
| Injection-Info | solani.org; logging-data="220318"; mail-complaints-to="abuse@news.solani.org" |
| User-Agent | Betterbird (Windows) |
| Cancel-Lock | sha1:1OFL9hBvGuzrRFMVVYIdJ+ps7FA= |
| In-Reply-To | <1t67294ef1i26d911n3e8%sfroehli@Froehlich.Priv.at> |
| X-User-ID | eJwNxEkBACAIBMBKoCxgHA7pH0HnMdjKWiYKFQymQ0eS7pzwNZyR9WeEEcOtPcNWX6DARNgPOeERfA== |
| Content-Language | de-DE |
| Xref | csiph.com de.comp.lang.php:4952 |
Show key headers only | View raw
Am 04.11.2024 um 23:56 schrieb Stefan Froehlich:
> On Mon, 04 Nov 2024 18:23:47 Detlef Paschke wrote:
>> [Funktioniert, braucht aber 2 Aufrufe]
>> str_replace(['../', './'], '', str_replace('\\', '/', $datei));
>
>> [Funktioniert nicht]
>> str_replace(['./', '../', '\\'], ['','','/'], $datei)
>
> ...
>
> Aber natürlich geht es auch in der eleganteren Version, Du musst nur
> aus hoffentlich naheliegenden Gründen sicherstellen, dass ../ *vor
> ./ ersetzt wird.
Stimmt danke, im eigentlichen Script ist es auch richtig herum, in der
"Test.php" habe ich es korrigiert. Da war mir der Fehler noch gar nicht
aufgefallen.
>> Mit preg_replace geht es so, wie ich es mir vorstelle, doch so
>> kann ich es kaum noch lesen.
>
>> preg_replace(['/(\.\/|\.\.\/)/', '/(\\\\)/'], ['', '/'], $datei);
>
> Hier funktioniert es unabhängig von der Reihenfolge, da reguläre
> Ausdrücke immer den längsten Match suchen. Die Auswahl zwischen .
> und .. ließe sich allerdings auch einfacher treffen, die Klammern um
> das Pattern sind unnötig, und für den Delimiter empfiehlt sich in
> diesem Fall ein anderes Zeichen. Ich würde etwas lesbarer schreiben:
>
> preg_replace(['#\.\.?/#', '#\\\\#'], ['', '/'], $datei);
Mein Beweggrund ist, was bis jetzt nur mit diesen blöden regulären
Ausdrücke und preg_replace funktioniert, mit str_replace hinzubekommen.
Es funktioniert ja auch ganz schick mit den preg_replace Varianten, aber
es ist so fürchterlich zu lesen für mich.
Ganz primitiv übersetzt:
Array1('../' ODER './', '\'), Array2('', '/')
Und genau diesen ODER Teil, dass ../ ODER ./ zu '' wird, also gelöscht
werden sollen, bekomme ich mit str_replace nicht hin. Und das in so
einem hübschen kleinen Einzeiler. :-)
> Servus,
> Stefan
Viele Grüße
Detlef Paschke
--
Das "Zitat des Augenblick" gibt es nur auf:
https://schabau.eu
Meine "Merkzettel" findet man unter:
https://helpdesk.schabau.eu
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-04 18:23 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2024-11-04 22:56 +0000
Re: Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-05 10:03 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2024-11-05 09:59 +0000
Re: Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-05 12:38 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-05 12:55 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2024-11-05 12:19 +0000
Re: Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-05 15:27 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Arno Welzel <usenet@arnowelzel.de> - 2024-11-07 17:31 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Detlef Paschke <schabau@t-online.de> - 2024-11-08 11:25 +0100
Re: Ist hier noch jemand? str_replace multiple replacement Arno Welzel <usenet@arnowelzel.de> - 2024-11-08 17:29 +0100
csiph-web