Reguläre Ausdrücke
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
auslese
beispiel
code
dank
folgenden code
frage
funktionieren
genannte thema
heutigen tag
kleinen denkfehler
korrektur
letztem post
machen
programmcode
stern
string
text
zahl
zeichen
-
beherrsche das oben genannte Thema bis zum heutigen Tag nicht, da es für mich sehr unverständlich ist. Habe mir schon einige Tuts. aangelesen aber bis heute kein Erfolg.
habe diesen String:
Mit Text und mehr Text - Shrink: 79%
und möchte mittels preg_match oder preg_split die Zahl 79 aus dem String auslesen.
hab es schon wie folgt probiert:
$shrink = preg_split("/\*Shrink: |\%/", $string);
aber geht nicht.
Beitrag zuletzt geändert: 3.5.2011 21:19:51 von robftp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
preg_match('/^\d+$/', $str)
Oder
preg_match('/^([0-9])$/', $str)
Beitrag zuletzt geändert: 3.5.2011 22:26:46 von fabo -
läuft nicht, es liefert nur "0" zurück!
-
$string="Mit Text und mehr Text - Shrink: 79%"; preg_match("/\d+/", $string, $shrink); echo $shrink[0];
-
liegt daran das Fabo das %-Zeichen übersehen hat, bzw sich vertippt hat und einen kleinen Denkfehler drin hatte…
seine korrekte Lösung wäre:
Danach haben die Variablen folgende Werte:$pregMatchResult = preg_match('/(\d+)%/', $str, $resultArray);
Das ist := ist ein Definitionssymbol, damit du siehst, dass das kein Programmcode ist!$pregMatchResult := 1 $resultArray := array( 0 := "79%" 1 := 79 )
Mit freundlichen Grüßen -
ich muss ecuh enttäschen bei mir läuft es nicht. Verwende folgenden Code
$string="Mit Text und mehr Text - Shrink: 79%"; $shrink = preg_match('/(\d+)%/', $string); echo $shrink[1];
Es wird nichts zurück geliefert: -
Weil % escaped werden muss :)
Willst du nur die 79 haben, machst du:
$string = 'Mit Text und mehr Text - Shrink: 79%'; preg_match('/\d+/', $string, $shrink); echo $shrink[0];
Mit % so:
$string = 'Mit Text und mehr Text - Shrink: 79%'; preg_match('/\d+\%/', $string, $shrink); echo $shrink[0];
Beitrag zuletzt geändert: 4.5.2011 2:55:12 von fabo -
robftp schrieb:
ich muss ecuh enttäschen bei mir läuft es nicht. Verwende folgenden Code
$string="Mit Text und mehr Text - Shrink: 79%"; $shrink = preg_match('/(\d+)%/', $string); echo $shrink[1];
Es wird nichts zurück geliefert:
doch eine 1 genauer gesagt true aber wenn du dir meinen beitrag nochmal ansiehst wirst du auch sehen warum dein Beispiel hier falsch ist!
@fabo das Prozentzeichen muss hier nicht maskiert werden... aber deine Ausdrücke funktionieren ja trotzdem -
doch eine 1 genauer gesagt true aber wenn du dir meinen beitrag nochmal ansiehst wirst du auch sehen warum dein Beispiel hier falsch ist!
aber ich will kein TRUE sondern die Zahl an sich haben -
Hast du den Code von mir bzw. den von fabos letztem post ausprobiert?
Ich denke nicht, weil der macht genau das was du möchtes.
Also hier nochmal
$string="Mit Text und mehr Text - Shrink: 79%"; preg_match("/\d+/", $string, $shrink); echo $shrink[0];
Beitrag zuletzt geändert: 4.5.2011 20:03:20 von deep-shades -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage