Antworten auf deine Fragen:
Neues Thema erstellen

Leerzeichen suchen

didi01

Aktives Mitglied

Hallo zusammen,

ich möchte einen String überprüfen ob dort nur Leerzeichen enthalten sind. Im folgenden ein Beispiel wie ich es versucht habe.

PHP:
$str = "    ";
$ausgabe = preg_match("[\s]", $str);
echo $ausgabe;

Hierbei bekomme ich 1 als Ausgabe.
Wenn ich den String nun folgendermaßen ändere

PHP:
$str = "    abc";
$ausgabe = preg_match("[\s]", $str);
echo $ausgabe;

bekomme ich ebenfalls 1 als Ausgabe.

Es ist doch richtig das \s ein Leerzeichen sucht und [\s] überprüft ob der String nur aus Leerzeichen besteht, oder?

Gruß
didi01
 

AW: Leerzeichen suchen

Du brauchst auch Delimiter, da Du diese nicht angegeben hast werden Deine Klammern automatisch zu welche. Nimm andere, z.B. Raute. Ich versuche das mal zu erklären (Habe auch nur Grundwissen)

PHP:
$suchmuster="#...#"
Du möchtest prüfen ob ein Wert ausschliesslich aus Leerzeichen besteht; folgedessen fängt Dein Suchmuster mit einem Leerzeichen an und hört auch damit auf.

PHP:
$suchmuster="#^...$#"; // ^=Start, $=Ende
Jetzt suchst Du Leerzeichen, kannst wie aus Deinem Beispiel /s nehmen.

PHP:
$suchmuster="#^(\s)$#";
Jetzt könnten aber mehrere Leerzeichen enthalten sein, ich nehme mal an mindestens eines und unendlich viele.

PHP:
$suchmuster="#^(\s){1,}$#";
innerhalb der Geschweiften Klammer gibst Du min und max Wert der gefunden werden soll. Da es auch mehrere Leerstellen sein können, lässt Du den zweiten Wert einfach leer. (Willst Du z.B. auf 5 Stellen begrenzen müsste die geschweifte klammer so aussehen {1,5})

Andere Schreibweise wäre noch

PHP:
$suchmuster="#^(\s)+$#"; //
 
AW: Leerzeichen suchen

Hallo netbandit,

vielen Dank für Deine sehr ausführliche Erklärung. Damit habe ich es jetzt begriffen und es funktioniert einwandfrei.

Gruß
didi01
 
AW: Leerzeichen suchen

Wie wäre es mit einem
PHP:
<?php
echo empty(trim($zeichenkette));
?>
?

Sieht elegant aus - aber sagt:
Hinweis: empty() überprüft nur Variablen, alles andere führt zu einem Parse-Error. Anders gesagt wird folgendes nicht funktionieren: empty(trim($name)).

Geht also nicht.

Ralph
 
AW: Leerzeichen suchen

Ach Gottel, dann eben
PHP:
<?php
	$zeichenkette = trim($zeichenkette);
	echo empty($zeichenkette);
?>


Duddle
 
AW: Leerzeichen suchen

Ach Gottel, dann eben
PHP:
<?php
    $zeichenkette = trim($zeichenkette);
    echo empty($zeichenkette);
?>
Duddle

Naja, abgesehen davon, daß ein "echo false" nichts auf dem Bildschirm erscheinen läßt, würde hier auch bei $zeichenkette = '0' auf empty erkannt werden.

preg_match('/^\s+$/', $zeichenkette) liefert fast immer das richtige. didi01 möchte ja wissen, ob mindestens 1 Leerzeichen enthalten ist und nicht keins oder nichts.

Allerdings ist \s nicht nur ein Leerzeichen, sondern auch TAB oder CRLF. preg_match('/^[:space:]+$/', $zeichenkette) wäre also wohl das richtige.

Ralph
 
AW: Leerzeichen suchen

Hi,

meine Frage wurde ja auch schon von netbandit beantwortet. Der Hintergrund war übrigens das ich ein Eingabeformular überprüfen wollte.

Gruß
didi01
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.985
Beiträge
1.540.184
Mitglieder
68.190
Neuestes Mitglied
IndieMakerList
Oben