[points=12] - Wie die Zahl einlesen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beispiel
code
eckigen klammern
formular
funktion
http
match
point
post
rest
scheitern
stehenden begriff
string
url
vorstellen
webseite
wert auslesen
wundern
zahl
-
Hallo,
ich habe ein Formular auf meiner Webseite, bei dem man Werte über BB-Codes eingibt. Das ganze soll so aussehen:
undzwar soll die Zahl 12 (oder was der benutzer eben für einen numerischen Wert eingibt) "gefiltert" werden. Wie mach ich das am Besten? Mit Arrays könnte ich mir das vorstellen, aber wie soll das gehen?[points=12][titel]Hallo[/titel]
Für jeden Link oder Tutorial bin ich dankbar -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du könntest es so versuchen:
preg_match_all( '/points\=[0-9]+/, $string, $array); foreach ($array[1] as $value) { echo $value; }
meine regex sind verdammt schlecht, also nich wundern wenns nicht geht.
möchtest du denn nur an dies eine, oder möchtest du an jeden in eckigen klammern stehenden begriff? -
Ahh danke für den Post
Du hast mich auf die richtige Fährte gelockt. Mit der preg_match - Funktion werde ich es allerdings nicht machen, da die substr() - Funktion wesentlich bekömmlicher (wie ich finde) ist.
=> Für alle mit dem Gleichem Problem: http://www.php.net/manual/de/function.substr.php
<?php $rest = substr("[points=12344444]", 8, -1); echo $rest; // Gibt 12344444 aus. ?>
Funktioniert mit jedem beliebigen Wert und ist getestet.
Beitrag zuletzt geändert: 27.3.2011 16:14:13 von limabone -
Dein String war aber in dem Beispiel oben
Wie willst du bei so einem String mit substr() deinen Wert auslesen?[points=12][titel]Hallo[/titel]
$string = '[points=12][titel]Hallo[/titel]'; $rest = substr($string, 8, -1); echo $rest; // Gibt 12][titel]Hallo[/titel aus.
-
$string = '[points=12][titel]Hallo[/titel]'; $num = preg_replace('/[0-9]/', '', $string);
$string = '[points=12][titel]Hallo[/titel]'; preg_match('/\d+/', $string, $matches); $num = $matches[0];
Beitrag zuletzt geändert: 30.3.2011 15:48:57 von fabo -
limabone schrieb:
Könnte problematisch werden wenn noch mehr BB-Code hat
ich habe ein Formular auf meiner Webseite, bei dem man Werte über BB-Codes eingibt.
Dein Beispiel würde an so etwas z.B. scheitern:
Möglicher Lösungsweg:$string = '[size=23][points=12][titel]Hallo[/titel][/size]'; preg_match('#\d+#', $string, $matches); echo $matches[0];
$string = '[points=12][titel]Hallo[/titel]'; preg_match('#\[points=([0-9]+)\]#', $string, $matches); $rest = substr($matches[0], 8, -1); echo $rest;
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage