[GastForen Programmierung/Entwicklung PHP und MySQL preg_replace doppelte Zeichen entfernen funzt nicht

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

preg_replace doppelte Zeichen entfernen funzt nicht

fraenzer
Beiträge gesamt: 5

13. Nov 2006, 12:04
Beitrag # 1 von 9
Bewertung:
(4734 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Hab hier ne kleine Hilfsfunktion, die mir aus einem String ein paar doppelte Zeichen entfernen soll:

Code
private function doppelteZeichenEntfernen($zeichen, $variable) { 
return preg_replace("/^\\".$zeichen."{2,0}$/", $zeichen, $variable);
}


$zeichen ist hier beispielsweise ein Punkt oder n Plus oder so, die $variable symbolisiert meinen String.
Irgendwie will der aber nich so ganz, bei einer Eingabe von beispielsweise 10 Punkten hintereinander kürzt er mir das dann nicht auf einen Punkt, sondern läßt die 10 stehen.

Schonmal danke für Eure Hilfe!

Gruß

fraenzer
X

preg_replace doppelte Zeichen entfernen funzt nicht

oesi50
  
Beiträge gesamt: 2315

13. Nov 2006, 13:00
Beitrag # 2 von 9
Beitrag ID: #261587
Bewertung:
(4732 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wie wärs denn damit:


Code
preg_replace('/(.)\1/', '$1', $variable) 



Grüße Oesi
Ich weiß, dass ich nicht weiß... (Sokrates)


als Antwort auf: [#261559]

preg_replace doppelte Zeichen entfernen funzt nicht

fraenzer
Beiträge gesamt: 5

13. Nov 2006, 13:20
Beitrag # 3 von 9
Beitrag ID: #261595
Bewertung:
(4724 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jetzt komm ich nicht so ganz mit.
(.) : liefert mir der Part alle Abschnitte meines Strings, bei dem Punkte in irgendeiner Häufigkeit aufeinanderfolgen?

Dann macht mir das "\i" noch Kummer, oder hast Du den \ mit nem $ verwechselt.

Danke


als Antwort auf: [#261587]

preg_replace doppelte Zeichen entfernen funzt nicht

oesi50
  
Beiträge gesamt: 2315

13. Nov 2006, 13:48
Beitrag # 4 von 9
Beitrag ID: #261603
Bewertung:
(4722 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
/(.)\1/

dieser Ausdruck trifft alle Zeichen, die von sich selbst gefolgt werden.
Durch die Gruppierung () wird aber nur das erste Zeichen in $1 gespeichert.
Mit $1 wird nun der gefundene Ausdruck durch dieses Zeichen ersetzt.

Bsp:

aus aabbcc
wird abc


Grüße Oesi
Ich weiß, dass ich nicht weiß... (Sokrates)


als Antwort auf: [#261595]

preg_replace doppelte Zeichen entfernen funzt nicht

fraenzer
Beiträge gesamt: 5

13. Nov 2006, 14:16
Beitrag # 5 von 9
Beitrag ID: #261615
Bewertung:
(4715 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
OK, das hab ich verstanden und auch erfolgreich ausgeführt, vielen Dank schonmal!

Jetzt hab ich aber das Problem, dass ich da natürlich ein wenig Dynamik reinbringen will, sprich der Punkt muss nicht unbedingt ein Punkt sein. Hab mal versucht, dass mit ner normalen Variable zu machen, aber dummerweise motzt er da sofort, funzt werder mit "" noch mit ''. Mhm!


als Antwort auf: [#261603]

preg_replace doppelte Zeichen entfernen funzt nicht

oesi50
  
Beiträge gesamt: 2315

13. Nov 2006, 14:54
Beitrag # 6 von 9
Beitrag ID: #261629
Bewertung:
(4710 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wie dynamisch soll es denn noch werden?
Der Punkt bedeutet doch schon jedes Zeichen.

Zitat . match any character except newline (by default)



Grüße Oesi
Ich weiß, dass ich nicht weiß... (Sokrates)


als Antwort auf: [#261615]

preg_replace doppelte Zeichen entfernen funzt nicht

fraenzer
Beiträge gesamt: 5

13. Nov 2006, 14:59
Beitrag # 7 von 9
Beitrag ID: #261630
Bewertung:
(4706 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mhm, da is was dran ;-)

Dann hab ich natuerlich das Problem, dass auch aufeinanderfolgende gleiche Buchstaben ersetzt werden.

Meine Zeichen waeren erstmal das Leerzeichen, +, -, /, .
Meine Eingebung sagt mir, ich muss die Dinger mit nem \ maskieren, aber die dann via php-Variable in meinen Ausdruck zu bringen, da motzt mir mein Browser immer rum.

Es waer natuerlich kein Problem, das preg_replace einmal n paar mal im Quellcode zu haben mit den einzelnen Zeichen, aber das is ja ziemlich unschön.


als Antwort auf: [#261629]
(Dieser Beitrag wurde von fraenzer am 13. Nov 2006, 15:05 geändert)

preg_replace doppelte Zeichen entfernen funzt nicht

oesi50
  
Beiträge gesamt: 2315

13. Nov 2006, 15:22
Beitrag # 8 von 9
Beitrag ID: #261639
Bewertung:
(4699 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
aha, das ist was anderes

der gesuchte Ausdruck lautet:
Code
~([ +-/.])\1+~ 



Grüße Oesi
Ich weiß, dass ich nicht weiß... (Sokrates)


als Antwort auf: [#261630]

preg_replace doppelte Zeichen entfernen funzt nicht

fraenzer
Beiträge gesamt: 5

13. Nov 2006, 15:45
Beitrag # 9 von 9
Beitrag ID: #261649
Bewertung:
(4695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Yuppi!

Vielen Dank, hat funktioniert.
Einzig die Zeichen einzeln mußte ich noch mit nem \ maskieren, da er sonst wieder gemotzt hat.

Gruß

fraenzer


als Antwort auf: [#261639]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/