[GastForen Programmierung/Entwicklung PHP und MySQL Zu lange Zeichenketten abschneiden

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

Zu lange Zeichenketten abschneiden

webgrauen
Beiträge gesamt: 20

12. Jul 2002, 07:01
Beitrag # 1 von 6
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich suche nach einer Möglichkeit die nach der Eingabe von zu langen aaaaaaaa - zzzzzzzzzzz und 0000000 - 999999999999999 Ketten die in ein Formular eingegeben wurden abzuschneiden.

Hat Jemand eine bessere Möglichkeit als diese ?

$HTTP_POST_VARS[message]= preg_replace("/a{5,}/","cut","$HTTP_POST_VARS[message]");
$HTTP_POST_VARS[message]= preg_replace("/b{5,}/","cut","$HTTP_POST_VARS[message]");
$HTTP_POST_VARS[message]= preg_replace("/c{5,}/","cut","$HTTP_POST_VARS[message]");
$HTTP_POST_VARS[message]= preg_replace("/d{5,}/","cut","$HTTP_POST_VARS[message]");
$HTTP_POST_VARS[message]= preg_replace("/e{5,}/","cut","$HTTP_POST_VARS[message]");

Mit eregi replace gehts aber mit preg replace siehts düster aus.


X

Zu lange Zeichenketten abschneiden

webgrauen
Beiträge gesamt: 20

12. Jul 2002, 09:20
Beitrag # 2 von 6
Beitrag ID: #7094
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
1. Möglichkeit habe ich schon gefunden, klappt aber leider nur mit Grossbuchstaben.

Ich schaffe es einfach nicht Gross und Kleinbuchstaben zusammen in diesen Ausdruck zu bekommen.


$HTTP_POST_VARS[message]= preg_replace("/([A-Z]){5,}/","\t","$HTTP_POST_VARS[message]");




als Antwort auf: [#7080]

Zu lange Zeichenketten abschneiden

oesi50
  
Beiträge gesamt: 2315

12. Jul 2002, 10:30
Beitrag # 3 von 6
Beitrag ID: #7100
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi webgrauen,

schau mal hier:

http://www.php.net/manual/de/function.substr.php

ich glaube dieses ist für deinen Fall günstiger und dazu auch noch schneller und gilt für alle Zeichen, nicht nur für [A-Z].
Solltest Du dennoch reguläre Ausdrücke verwenden wollen, sieht das so aus: /[A-Z]|[a-z]|[0-9]/ der '|' entspricht in dem Fall 'oder'.

mfg oesi
_________________
A bis z groß und klein
0 bis 9 und underline
Beste Darstellung mit
IE9.3 SP5a

[ Diese Nachricht wurde geändert von: oesi50 am 2002-07-12 10:31 ]


als Antwort auf: [#7080]

Zu lange Zeichenketten abschneiden

webgrauen
Beiträge gesamt: 20

12. Jul 2002, 13:50
Beitrag # 4 von 6
Beitrag ID: #7112
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe das hier gerade mit Grossbuchstaben getestet,
geht perfekt.

Es sieht ganz so aus als wäre in der neuen PHP Version ein Bug drin(4.2.1)

$HTTP_POST_VARS[message]= preg_replace("/([A-Z]{5,})/","\t","$HTTP_POST_VARS[message]");

Das klappt nämlich wirklich nicht mit Kleinbuchstaben.

Trotzdem danke Ösi.





als Antwort auf: [#7080]

Zu lange Zeichenketten abschneiden

Anonym
Beiträge gesamt: 22827

12. Jul 2002, 14:36
Beitrag # 5 von 6
Beitrag ID: #7119
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich meinte das so hier:
Code:

$HTTP_POST_VARS[message]= substr($HTTP_POST_VARS[message],0,5);




als Antwort auf: [#7080]

Zu lange Zeichenketten abschneiden

Miro Dietiker
Beiträge gesamt: 699

12. Jul 2002, 22:47
Beitrag # 6 von 6
Beitrag ID: #7143
Bewertung:
(1746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen...

Schnell einige klärende Worte:

Die Funktionen ereg_... und preg_... unterscheiden sich in
der Syntax des erwarteten Regulären Ausdruckes massiv!
Ich empfehle dem Programmierer für "standardfälle" klar die
preg (Voll Perl-Kompatible) Funktionen zu verwenden. Sie
sind meist auch in der Ausführung massiv schneller...

Das Problem Gross-Klein usw. Ist grundsätzlicher Natur:
Standardmässig unterscheidet preg Gross und Kleinschreibung.
Die Definition der Charakter-Klasse [A-Z] umfasst demnach
ausschliesslich Grossbuchstaben. Man verwende anstelle
[A-Za-z] (Sollte klappen..).

Im PHP-Manual findet man die Doku (für preg-Syntax) übrigends unter dem Schlagwort "Pattern Syntax" weiss man das nicht, wird man ewig suchen und kaum fündig.

Die elegantere lösung jedoch ist die verwendung der "Pattern Modifiers" (auch unter diesem Stichwort)
Man kamm damit definieren, dass der Reguläre ausdruck
CASE-Sensitive oder InSensitive ist. Modifiers werden
am Ende des Regulären ausdruckes gesetzt, NACH dem
abschliessenden Pattern-Zeichens. der Modifier "i" wird
Eure Beispiele oben auch für Gross/Klein funktionstüchtig machen.

Der Reguläre Ausdruck: "/([A-Z]){5,}/"
(Eigentlich heisst der Ausdruck selbst nur:
"([A-Z]){5,}" und die "/" Zu beginn und ende sind
Ein/Ausleitende Sequenzen, kann nun für die CASE-
Insensitivität so geschrieben werden:
"/([A-Z]){5,}/i"

Viel Spass dabei

Miro Dietiker


als Antwort auf: [#7080]
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
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
05.03.2021 - 30.04.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 05. März 2021, 13.00 Uhr - Freitag, 30. Apr. 2021, 17.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: CHF 3'250.–
Dauer: 8.5 Tage - Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PWEB