[GastForen Programmierung/Entwicklung PHP und MySQL preg_match Suchmuster definieren

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

preg_match Suchmuster definieren

flobaer
Beiträge gesamt: 317

30. Aug 2007, 13:07
Beitrag # 1 von 7
Bewertung:
(9594 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

vielleicht eine blöde Frage, aber ich habe bisher dazu nichts vernünftiges gefunden...

Wie definiere ich das Suchmuster für preg_match() ?
Ich habe gesehen, dass man irgendwas in der Form [a-z] o.ä. verwenden kann, aber wie? Wie suche ich z.B nach den Buchstaben A-Z in Groß- und Kleinschreibung, Ziffern und einzelnen Zeichen wie - oder _?

Ich krieg das einfach nicht auf die Reihe.

Leicht verschämte Grüße,
Florian
X

preg_match Suchmuster definieren

Bitfilme
Beiträge gesamt: 264

30. Aug 2007, 14:07
Beitrag # 2 von 7
Beitrag ID: #310383
Bewertung:
(9586 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo flobaer

Mein Du so wie das?
preg_match("/^[A-Za-z0-9\ü\è\ö\é\ä\à\Ä\Ö\Ü\-\_\?]*$/", $test)
Gruss Bitfilme


als Antwort auf: [#310369]

preg_match Suchmuster definieren

flobaer
Beiträge gesamt: 317

30. Aug 2007, 14:29
Beitrag # 3 von 7
Beitrag ID: #310390
Bewertung:
(9577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bitfilme,

im Prinzip meinte ich sowas, ja. Ich würde nur gerne verstehen.
Ich habe schon soviel kapiert, dass ich einen Slash an den Anfang und ans Ende setzen muss, ein ^ vor und ein $ hinter die Zeichenkette, damit der String von vorne bis hinten durchsucht wird. Richtig soweit?
Ich habe jetzt folgendes:

preg_match('/^[A-Za-z0-9_-\]+$/', $string)

Damit erzeugen alles Strings, die andere Zeichen als Buchstaben von a-z, Ziffern oder ein Minus oder einen Unterstrich enthalten einen Fehler. Ein Teilerfolg sozusagen.

Ich scheitere jetzt daran einen Punkt noch zuzulassen, da der wohl ein spezielles Zeichen ist, oder?

Wenn ich meinen Aufruf mit deinem vergleiche, frage ich mich, was der Unterschied zwischen +$ und *$ ist und was die Backslashes vor den Umlauten etc. bewirken.

Kannst du mich da aufklären? Vielleicht gibt es auch eine Seite, die das so erklärt, dass ich es verstehe?

Viele Grüße,
Florian


als Antwort auf: [#310383]

preg_match Suchmuster definieren

Bitfilme
Beiträge gesamt: 264

30. Aug 2007, 15:13
Beitrag # 4 von 7
Beitrag ID: #310398
Bewertung:
(9572 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der backslash ist für die Sonderzeichen. [a-z\?\!\.]

Dies prüft, ob nur diese Zeichen enhalten sind.

Code
$test = "Test?"; 
if (preg_match("/^[A-Za-z0-9\ü\è\ö\é\ä\à\Ä\Ö\Ü\-\_]*$/", $test)){
echo 'OK';
}
else {
echo 'Fehler';
}

// Ausgabe Fehler


Der * stellt die Zeichenlänge dar. Den kann auch durch {mindestlänge, maximumlänge} ausgetauscht werden.
Gruss Bitfilme


als Antwort auf: [#310390]

preg_match Suchmuster definieren

flobaer
Beiträge gesamt: 317

30. Aug 2007, 15:19
Beitrag # 5 von 7
Beitrag ID: #310400
Bewertung:
(9569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ah OK, jetzt funktioniert es. Gibt es eine Möglichkeit bei einem Fehler die Zeichen auszugeben, die "verboten" sind?

Viele Grüße,
Florian


als Antwort auf: [#310398]

preg_match Suchmuster definieren

Bitfilme
Beiträge gesamt: 264

30. Aug 2007, 15:34
Beitrag # 6 von 7
Beitrag ID: #310404
Bewertung:
(9566 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#310400]
(Dieser Beitrag wurde von Pozor am 30. Aug 2007, 17:25 geändert)

preg_match Suchmuster definieren

flobaer
Beiträge gesamt: 317

30. Aug 2007, 17:26
Beitrag # 7 von 7
Beitrag ID: #310426
Bewertung:
(9547 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Auch wenn ich das System noch immer nicht ganz verstanden haben, habe ich jetzt doch das was ich wollte:
Code
<?php 
preg_match_all('/[^A-Za-z0-9\_\-\.\+]/', $string, $fehler, PREG_OFFSET_CAPTURE);
if (count($fehler) == 0)
echo("Alles ok");
else
{
$verbotene_zeichen=array();
foreach ($fehler[0] as $falsch)
{
if($falsch[0]==" ") $verbotene_zeichen[]="Leerzeichen";
else $verbotene_zeichen[]=$falsch[0];
}
$verbotene_zeichen=array_unique($verbotene_zeichen);
natsort($verbotene_zeichen);
echo("Der String enth&auml;lt folgende unzul&auml;ssige Zeichen: ".implode("\t",$verbotene_zeichen));
}
?>


Danke Bitfilme noch mal für deine Hilfe.

Viele Grüße,
Florian


als Antwort auf: [#310404]
X

Aktuell

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
29.10.2020

Ortsunabhängig
Donnerstag, 29. Okt. 2020, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. 30-minütigen Webinar das neueste Produkt aus dem Hause Enfocus vor. Enfocus bringt mit BoardingPass eine pfiffige Lösung auf den Markt, welche eingehende Daten auf die wichtigsten druckrelevanten Kriterien hin gleich im Mail-Browser prüfen lässt. Mit BoardingPass sind auch Kundenberater und Avor-/Vertriebs-Mitarbeiter in der Lage, eingegangene Druckdaten innerhalb ihres Mail-Programmes sofort zu prüfen und dem Auftraggeber eine leicht verständliche Rückmeldung über diese zu geben. Die Druckdaten müssen also gar nicht erst über den internen Workflow des Druckdienstleisters laufen, sondern können direkt auf druckrelevante Kriterien geprüft und auch begutachtet werden.

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=292

Enfocus BoardingPass
Veranstaltungen
02.11.2020 - 03.11.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Montag, 02. Nov. 2020, 08.30 Uhr - Dienstag, 03. Nov. 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


Warum kommt Fehlermeldung "Wacom-Treiber" beim Start?

Affinity Designer Objekte auswählen

Bestimmte PDF-Kommentare löschen

Affinity Photo und Photoshop: HSL-Farbbereich als Maske speichern

Buchdateien kopieren

Werkzeugleiste und Bedienfelder sind verschwunden

Wie importiere ich eine Word Datei mit Fussnoten in Indesign?

PDF Export mit Briefpapier einfügen

Pantone - reiner Buntaufbau

Flächendeckung einer Datei
medienjobs