Antworten auf deine Fragen:
Neues Thema erstellen

Anfang einer Zeichenkette pürfen

rey

Der Frager ;)

hi,
ich wollte die ersten vier zeichen eines trings überprüfen und dazu eine if abfrage.
PHP:
if(substr($Name, 0, 4) !="LD1-" || substr($Name, 0, 4) !="Ld1-" || substr($Name, 0, 4) !="lD1-"){
unlink("$pfad");
	echo "<font color=\"#FFFFFF\">The Name has not started with ".'"LD1-"'."</font>".$Name."
<br /><a href=\"javascript:history.go(-2);\" class=\"titlelink\">Back</a>";
}
else
{
..
}
aber er bleibt bei mir in der if hängen und behauptet die das der name nicht mit diesen zeichen begonnen hat obwohl dies der fall ist.
 

netbandit

Aktives Mitglied

AW: Anfang einer Zeichenkette pürfen

Und nicht Oder

btw.

PHP:
<?
if(substr(strtolower($Name), 0, 4) !="ld1-"){
   //...
}
else{
    //...
}
?>
 
Zuletzt bearbeitet:

Pauline

Aktives Mitglied

AW: Anfang einer Zeichenkette pürfen

da fehlt doch eine Klammer die die if-Anweisung schließt:

if(substr("name",0,4) != "LD1-" ...... )
echo "<font color=\"#FFFFFF\">The Name has not started with .........


Gruß
Pauline
 

blackout

Schaf im Wolfspelz

AW: Anfang einer Zeichenkette pürfen

Ich würde das per Regex überprüfen, ist sowohl leichter zu lesen als auch zu modifizieren.
PHP:
if(preg_match('#^ld1-#i', $String)) {
	foobar();
}
Wenn dich die modifizierbarkeit nicht interessiert, dann ist die Lösung von Netbandit sicher recheneffizienter (obwohl das bei hier kaum ins Gewicht fallen sollte).
 
Zuletzt bearbeitet:

CIX88

Aktives Mitglied

AW: Anfang einer Zeichenkette pürfen

> if(preg_match('#^ld1-#i', $String)) {

Najaaaaa, wenn nur die ersten 4 Zeichen geprüft werden sollen, dann könnte das auch bedeuten, dass noch weiter Zeichen folgen. Wäre dies der Fall, dann funktioniert dieses Beispiel nicht mehr.

PHP:
if(preg_match('#^ld1-.*?#i', $String)) {
    foobar();
}

Code:
#    = Delimiter
^    = Markierung für den Anfang einer Zeichenkette
ld1- = gesuchtes Pattern
.*?  = es können weitere Zeichen folgen, müssen aber nicht
#    = Delimiter
i    = Modifer, das gesuchte kann Klein- und Großschreibung haben
 

netbandit

Aktives Mitglied

AW: Anfang einer Zeichenkette pürfen

Edit: Zum Kommentar von Netbandit: "OR" stimmt schon im Eingangspost, mit AND wäre das Argument des If immer FALSE.

Versteh ich nicht:

PHP:
<?
$Name="Ld1-";
if(substr($Name, 0, 4) !="LD1-" && substr($Name, 0, 4) !="Ld1-" && substr($Name, 0, 4) !="lD1-"){
echo 'if passt';
}
else{
echo 'else passt';
}
// else passt
echo '<br>';
$Name="Ld1_";
if(substr($Name, 0, 4) !="LD1-" && substr($Name, 0, 4) !="Ld1-" && substr($Name, 0, 4) !="lD1-"){
echo 'if passt';
}
else{
echo 'else passt';
}
// if passt
?>
 

blackout

Schaf im Wolfspelz

AW: Anfang einer Zeichenkette pürfen

Woops sorry, hab "==" gelesen, es heißt ja aber "!=". Ich korrigier mal den Post oben. Mit != ist das von dir vorgeschlagene AND doch richtig. :)

Edit:
> if(preg_match('#^ld1-#i', $String)) {
Najaaaaa, wenn nur die ersten 4 Zeichen geprüft werden sollen, dann könnte das auch bedeuten, dass noch weiter Zeichen folgen. Wäre dies der Fall, dann funktioniert dieses Beispiel nicht mehr.
Doch, der Delimiter am Ende steht ja nicht für "end of subject" sondern einfach nur das Ende des Regex. (Um den Fehler zu reproduzieren müsste da ein $ vor dem zweiten Delimiter stehen.)
PHP:
<?php
var_dump(preg_match('#^ld1-#i', 'ld1-')); // int(1)
var_dump(preg_match('#^ld1-#i', 'ld1-foobar')); // int(1)
var_dump(preg_match('#^ld1-#i', 'foobar_ld1-')); // int(0)
 
Zuletzt bearbeitet:
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

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben