php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.04.2005, 20:35  
Gast
 
Beiträge: n/a
Standard preg_match .. zahlen von 1 bis 18 zulassen

hallo,


also.... per bbcode soll der user per [FONTSIZE=12]TEXT[/FONTSIZE] eine schriftgröße auswählen dürfen...

die schriftgröße darf jedoch nicht größer als 18 und nicht kleiner als 7 sein...

ins pattern einflechten möchte ich nicht, er soll einfach zu große größen in 18 umwandeln und zu kleine in 7, aber bei meiner lösung hab ich immer schrifrgröße 7

PHP-Code:
<?php
$message 
Preg_Replace"#\[FONTSIZE=([0-9]{1,2})](.*?)\[\/FONTSIZE]#si", ( ( "\\1" 18 XOR "\\1" ) ? ( ( "\\1" 18 ) ? 18 ) : "\\1" ), $message ); 
?>


ich hab das ganze mal mit variablen ausprobiert:

PHP-Code:
<?php
$k 
15

Echo( ( ( 
$k 18 XOR $k ) ? ( ( $k 18 ) ? 18 ) : $k ) );
?>
und das klappt

danke schonma
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.04.2005, 20:38  
Erfahrener Benutzer
 
Registriert seit: 02.07.2004
Beiträge: 338
spoi
Standard

PHP-Code:
<?php
if ($a 18){
  
$a 18;
}

if (
$a 7){
  
$a 7;
}
?>
es würde eventuell noch sinn machen Zahlen wie 15,25411585 auf 15 runter zu stümmeln.

MfG
spoi
__________________
MfG
spoi
spoi ist offline  
Alt 25.04.2005, 20:41  
Gast
 
Beiträge: n/a
Standard

danke für die schnelle antwort, aber dieses if-statement kann unmöglich in ne posix funktion...
 
Alt 25.04.2005, 21:29  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

Daß immer 7 rauskommt, hängt damit zusammen, daß PHP die *Zeichenkette* »\\1« mit »7« bzw. »18« vergleicht (ist immer kleiner) ... Kann sein, daß Du da um eine eigene Funktion nicht herumkommst ...
tapferesschneiderlein ist offline  
Alt 25.04.2005, 21:35  
Gast
 
Beiträge: n/a
Standard

ja man könnte es so machen denke ich

PHP-Code:
<?php
while preg_match"#\[FONTSIZE=([0-9]{1,2})](.*?)\[\/FONTSIZE]#si"$message$match ) )
{
    If( 
$match[1] < XOR $match[1] > 18 )
    {
            If( 
$match[1] < )
                
$match[1] = 7
            
Else
                
$match[1] = 18;
    }

    
$message Preg_Replace"bla"$match[1], $message);
}
?>
 
Alt 25.04.2005, 22:07  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Besser ist es so:
PHP-Code:
<?php
  error_reporting
(E_ALL);

  function 
fontsizeErsetzen($matches)
   {
    
$groesse = (int)$matches[1];
    if (
$groesse OR $groesse 12)
     {
      return 
$matches[2];
     }
     else
     {
      return 
'<span style="font-size:'.$groesse.'pt;">'.$matches[2].'</span>';
     }
   }

  
$string '[FONTSIZE=12]TEXT[/FONTSIZE]';

  
$string preg_replace_callback('#\[fontsize=([0-9]{1,2})\](.*)\[/fontsize\]#isU''fontsizeErsetzen'$string));

 
?>
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 25.04.2005, 22:30  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

aber doch nicht pt aufm screen!
__________________
derHund ist offline  
Alt 25.04.2005, 22:31  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Was würdest du nehmen?
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 26.04.2005, 01:17  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

alles andere, em z.b., wenn du sowieso im ganzen system drauf baust, oder %, px ja eigentlich auch nicht - obwohl es sich bei dieser angabe (7-1 wohl am besten machen ließe ... alternativ halt ... small, smaller, .. dann kann man gleich klassen festlegen.

aber pt ist doch fürs medium print vorgesehen.

ach ja: zum ausführen von php innerhalb eines ersatzes für preg_replace ist immer modifier e (und dessen rattenschwanz) erforderlich. darum lieferte die erste version des threadstarters falsche ergebnisse.
__________________
derHund ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst] Zahlen sortieren mit Varchar moose Datenbanken 8 21.07.2008 13:53
Zahlen (Double) formatiert darstellen Marie PHP Tipps 2007 2 24.01.2007 22:32
Zahlen mit <>= im negativen Bereich? BartTheDevil89 PHP Tipps 2006 5 15.10.2006 00:22
Brauche Funktion um Strings aus einer txt-Datei zu zählen mark_gebert PHP Tipps 2006 11 16.08.2006 14:30
Zahlen effektiv verschlüsseln Jacks Rache PHP Tipps 2006 20 10.07.2006 01:44
Bei $_GET nur Zahlen zulassen Da-JS PHP Tipps 2006 11 08.07.2006 20:41
2 Zahlen vergleichen -> Problem BartTheDevil89 PHP Tipps 2006 12 02.07.2006 22:00
Zahlen zusammenzählen Sonja PHP Tipps 2006 11 28.03.2006 11:07
leere tabellen problem mit zählen Nosferatu PHP Tipps 2006 1 08.01.2006 03:28
[Erledigt] Nur Zahlen (oder bestimmte Zeichen) in Textfeld zulassen HTML, Usability und Barrierefreiheit 4 22.09.2005 15:11
zählen im Array Riot PHP Tipps 2005-2 5 18.07.2005 12:33
Zählen HTML, Usability und Barrierefreiheit 6 26.04.2005 10:24
bei php Komma zahlen setzen :-( blu21 PHP Tipps 2004-2 3 02.12.2004 15:05
Tabellen nach Zahlen sortieren Datenbanken 2 29.11.2004 00:03
Mein Script soll Seitenaufrufe eines Benutzers zählen PHP Tipps 2004 12 13.07.2004 16:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php preg_match zahlen, preg_match nur zahlen, preg_match größer kleiner, php preg_match größer 0, php preg_match nur zahlen, preg_match zahlen, php preg_match, preg_match() php größer, preg_match zahlen von 1 bis 15 erlauben, preg_match zahlen von 1 bis 9, preg_match php negative integer, php preg_match zahlen 1 bis 9, preg_match nur zahlen von 01 bis 12 zulassen, preg_match nur zahlen zulassen, php preg_match zahl 2-3, php preg größer, preg_match zahl grösser, !preg_match zahlen, preg_match php zahlen 1, 2, 3 erlauben, mit preg_match zahlen erlauben

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.