| Shopping |
Geschrieben am: So 22.01.2006, 13:18
|
|
AyomRank 8 Gruppe: Experten Marketing (Mod) Beiträge: 1843 Mitglied seit: 11.12.2003 |
Ich versuche zur Zeit die Normalisierung zu verstehen, finde jedoch keine geeigneten Quellen. Hat mir vielleicht jemand einen Tipp, wo dies "idotengerecht" anhand von Beispielen erklärt wird.
Zur Verdeutlichung: ich versuche zu verstehen, was genau in folgendem Code steht: $text = preg_replace('/[^A-Za-z0-9'.$allow.'\s]/e','',$text); Gruss, Ivo -------------------- Bei Pligg, da verdient jeder mit! - Neuanmeldungen jetzt wieder moeglich!
Das Schweizer Shopping Portal seit 1999 Gratis - alles, was es im Internet gratis gibt |
![]() |
| Hardcore4Life |
#2 Geschrieben am: So 22.01.2006, 15:27 (+02:09)
|
|
AyomRank 1 ![]() ![]() Gruppe: Member (inaktiv) Beiträge: 2 Mitglied seit: 19.01.2006 |
Hallo Ivo,
also entweder liegt es daran das ich wenig geschlafen habe oder dein Beitrag ist einfach "falsch" Normalisierung hat nichts mit Code zu tun, sondern sind Regeln wie man eine Datenbank designen sollte und dabei redundate Daten vermeidet. Das was du an Code geschrieben hast sind "Reguläre Ausdrücke". Allerdings bin ich auf dem Gebiet auch kein Experte, aber wenn du mal bei der Suchmaschine deines Vertrauens nach Regulären Ausdrücken suchst findest du schon eine Erläuterung und wirs auch recht schnell und einfach den Code Schnipsel verstehen und übersetzen können! Schöne Grüße und noch ein schönes Wochenende |
![]() |
| Sascha Ahlers |
#3 Geschrieben am: So 22.01.2006, 15:43 (+00:15)
|
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Hallo,
für Reguläre Ausdrücke ist diese Seiten recht gut: PHP.net: Pattern Syntax PHP.net: Suchmuster-Modifikatoren Wikipedia: Regulärer Ausdruck Wenn das alles nicht hilft, kann ich nur noch das Buch von O'Reilly mit dem Titel "Reguläre Ausdrücke" empfehlen. O'Reilly: Reguläre Ausdrücke, 2. Auflage MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
![]() |
| René Weber rwx-support |
#4 Geschrieben am: So 22.01.2006, 15:48 (+00:05)
|
![]() AyomRank 7 Gruppe: Moderatoren Beiträge: 1173 Mitglied seit: 3.09.2004 |
Ciao Ivo,
Also wenn du Normalisierung meinst, dann musst du hier reinschauen: IEC / CEI ISO ITU / UIT Dieses sind die 3 offiziellen weltweiten Normen Organisationen. Wenn du aber deinen Zeichensalat verstehen willst, dann gibt's hier eine gute Seite: UNIX Reglar Expressions Und wenn du auf Linux fährst, dann kannst du einfach "man vi" eingeben. Have a sunny Sunday René -------------------- |
![]() |
| Shopping |
#5 Geschrieben am: So 22.01.2006, 16:00 (+00:11)
|
||
|
AyomRank 8 Gruppe: Experten Marketing (Mod) Beiträge: 1843 Mitglied seit: 11.12.2003 |
Zuerstmal: Schande ueber mein Haupt. Ich habe da anscheinend wirklich was verwechselt bzw. nicht ganz begriffen und somit erstaunt es auch kaum, dass ich nichts gefunden habe. In die Irre geleitet wurde ich u.a. von diesem Textauszug, der in Selfhtml zu finden ist:
Euch allen, lieben Dank, ich werde die Links mal studieren und gegebenenfalls nochmals mit ganz konkreten Fragen zurueckkommen. Gruss, Ivo -------------------- Bei Pligg, da verdient jeder mit! - Neuanmeldungen jetzt wieder moeglich!
Das Schweizer Shopping Portal seit 1999 Gratis - alles, was es im Internet gratis gibt |
||
![]() |
| Ansgar Berhorn TOPdesk Deutschland |
#6 Geschrieben am: So 22.01.2006, 16:24 (+00:24)
|
||||
![]() AyomRank 6 Gruppe: Experten Entwicklung (Mod) Beiträge: 857 Mitglied seit: 8.10.2004 |
Vermutlich meint der Autor bei Selfhtml das entfernen von führenden und anhängenden Leerzeichen und das Entfernen von nicht erlaubten Zeichen. Also z.B.: " W%ort& " wird "Wort". -------------------- |
||||
![]() |
| Alain_Aubert |
#7 Geschrieben am: So 22.01.2006, 16:49 (+00:25)
|
||
|
Ayom Slave Gruppe: Admin Beiträge: 4847 Mitglied seit: 25.09.2003 |
Da steht, dass ich den $text nehme und alles '/[^A-Za-z0-9'.$allow.'\s]/e' durch '' (also nichts) ersetzte. Dabei bedeutet [] dass es um alle (einzelnen) Zeichen geht. ^ steht für die Negation. D.h. [^A-Z] heisst alle nicht-grossBuchstaben. [^A-Za-z0-9] heisst also alle nicht-Buchstaben und nicht-Zahlen. Sei $allow mal ein "-". Dann heisst /[^A-Za-z0-9'.$allow.'\s]/e also: alles was kein Zeichen (a-z gross und klein) und keine Zahl und kein "-", und keine Lehrzeichen (\s) ist, soll durch '' (nichts) ersetzt werden. Was der modifier /e bedeutet ist mir nicht klar. |
||
![]() |
| Sascha Ahlers |
#8 Geschrieben am: So 22.01.2006, 17:03 (+00:13)
|
||||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Das steht auch auf der PHP Seite erklärt:
Also so ähnlich wie in Perl. ;-) MfG Sascha Ahlers -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||||
![]() |
| Shopping |
#9 Geschrieben am: So 22.01.2006, 17:29 (+00:26)
|
||
|
AyomRank 8 Gruppe: Experten Marketing (Mod) Beiträge: 1843 Mitglied seit: 11.12.2003 |
@Alain Danke, genau das wollte ich wissen. Jetzt habe ich mindestens mal ein klitzekleines Basisverstaendnis auf dem sich hoffentlich aufbauen laesst. @Sascha Das klingt ziemlich kompliziert. Da muss ich wohl noch ein wenig hirnen bis ich das wirklich verstanden habe. Dies liesse sich doch bestimmt auch in einfachere Worte packen. Noch eine kleine Frage an euch Genies
Wie muesste dieses Beispiel aussehen, wenn ich mit Alain's Worten: alles was kein Zeichen (a-z gross und klein) und kein Zeichen (ü ä ö gross und klein) und keine Zahl und kein "-", und keine Lehrzeichen (\s) ist, soll durch '' (nichts) ersetzt werden. -------------------- Bei Pligg, da verdient jeder mit! - Neuanmeldungen jetzt wieder moeglich!
Das Schweizer Shopping Portal seit 1999 Gratis - alles, was es im Internet gratis gibt |
||
![]() |
| Alain_Aubert |
#10 Geschrieben am: So 22.01.2006, 17:46 (+00:16)
|
|
Ayom Slave Gruppe: Admin Beiträge: 4847 Mitglied seit: 25.09.2003 |
A Propos, Normalisieren kann man alles, und dein Stichwort sind reguläre ausdrücke, regexp. War recht verwirrend
Manipulier das $allow. Du hast A-Z a-z 0-0 \s und Du willst also noch $allow = "öüäÖÜÄ-" Alternativ ignoriert \i grossKlein. Bitte aber beachten, dass é und dergleichen nicht als Buchstaben gelten. Also auch durch nichts ersetzt werden. @Sascha, danke. |
![]() |
| Sascha Ahlers |
#11 Geschrieben am: So 22.01.2006, 18:42 (+00:56)
|
||||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1708 Mitglied seit: 27.12.2004 |
Vielleicht hilft dieses Beispiel etwas weiter:
Hierbei wird im Grunde nur die Ersetzung durch den PHP-Parser geschickt, so dass die Funktion strtoupper() benutzt werden kann, was ohne den Modifikator /e nicht möglich wäre. Wichtig hierbei ist darauf zu achten, dass die einzelnen Subpattern im Ersetzungsstring auch escaped werden (statt \1 wird hier \\1). Dies ist im Grunde eigentlich Sinnlos für Deinen Pattern, da Du ja einfach gar nichts einfügst. Bei der Variable $allow solltest Du vielleicht den Pattern noch etwas modifizieren, denn wenn in der Variable nicht escape Zeichen stehen, könnte es zu Problemen kommen, bzw. zu unerwünschten Ergebnissen. [1] Ob der Inhalt der Variable escaped werden sollte, hängt ganz davon ab, wie Du diesen Ausdruck verwenden möchtest. MfG Sascha Ahlers [1] string preg_quote ( string str [, string delimiter] ) -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||||
![]() |
| Shopping |
#12 Geschrieben am: So 22.01.2006, 20:26 (+01:43)
|
|
AyomRank 8 Gruppe: Experten Marketing (Mod) Beiträge: 1843 Mitglied seit: 11.12.2003 |
Danke, Sascha! Ich weiss, Du meinst es nur gut mit mir, aber Du bist mir im Moment ein paar 100 Schritte voraus. Ich fuehle mich ungefaehr so wie als ich die ersten arabischen Worte gelernt habe. Da kommt wohl noch einiges auf mich zu bis ich die ganzen Details wirklich verstehe...
Ich arbeite mich jetzt mal behutsam in die Materie ein. Ein Riesendank an Euch alle. Ihr habt mir echt geholfen! Gruss, Ivo -------------------- Bei Pligg, da verdient jeder mit! - Neuanmeldungen jetzt wieder moeglich!
Das Schweizer Shopping Portal seit 1999 Gratis - alles, was es im Internet gratis gibt |
![]() |
| Irene irene.ch |
#13 Geschrieben am: Mo 23.01.2006, 09:55 (+13:28)
|
![]() AyomRank 7 Gruppe: Experten Entwicklung (Mod) Beiträge: 1114 Mitglied seit: 3.05.2004 |
Vielleicht nützt Dir dieses http://www.irene.ch/regulaere_ausdruecke.pdf PDF etwas. Ich habs mal irgendwo im Netz gefunden, als ich mich mit Regexen auseinandersetzen musste. Evtl. passen nicht ganz alle Ausdrücke auf PHP, da es einige verschiedene Regex-"Dialekte" gibt, aber es erklärt zumindest das Wichtigste kurz.
Griessli Irene -------------------- |
![]() |
| Münchow |
#14 Geschrieben am: Mi 25.01.2006, 10:10 (+48:15)
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 14 Mitglied seit: 19.01.2006 |
Hi Ivo,
weiß nicht genau, ob das oben bei den Links schon irgendwo bei war. Aber ich kann noch den RegEx Coach empfehlen. Damit kann man reguläre Ausdrücke gegen einen Suchstring laufen lassen. Das kann man dabei auch z. B. Schritt für Schritt tun um so genau zu sehen, wann er was macht. Vielleicht hilft das ja auch ein wenig beim 'lernen'. Grüsse, Münchow |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/10272
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Werbeideen hier ein paar Beispiele | woody | 353 | 5 | Di 6.11.2007, 08:11 |
| Eure Beispiele für "schöne" Communities? | Fabian99 | 998 | 11 | Mo 24.09.2007, 19:19 |
| Diskussion: E-Mailadressen überprüfen per Regul ... | Ayom-Team | 688 | 11 | Do 17.05.2007, 14:42 |
| suche Affiliates Homepages Beispiele | patrick-l | 842 | 5 | Di 13.02.2007, 11:28 |
Anzeige - [Hier werben / Mediadaten]



















