php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-10-2006, 10:13
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard string splitten ab erster Zahl.

Hallo ich habe folgenden CodeSchnipsel:

PHP-Code:
<?
$string 
"<20"
preg_match('/[< > <= >=]+|[0-9]+/'$string$result);  
echo 
"[0]".$result[0];
?>

er gibt mir das "<" Zeichen aus oder halt ein größer Zeichen oder größer gleich oder kleiner gleich.

Alerdings brauche ich auch noch den Rest vom String. Sozusagen in $result[1].

Mit explode geht es nicht da ich ja kein eindeutiges Zeichen ahbe nach dem ich in dem String suchen kann. Welche möglichkeiten ahbe ich noch?

Danke und Lieben Gruß
Jache84
Mit Zitat antworten
  #2 (permalink)  
Alt 13-10-2006, 10:29
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

preg_split

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #3 (permalink)  
Alt 13-10-2006, 10:34
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja aber bei der Funktion kann ich ja nicht nach "<", ">", "<=" oder ">=" suchen lassen, sondern der trennt mir entweder bei einem Leerzeichen oder einfach nach jeden Buchstabe. Oder hbae ich die Funktion mal wieder komplett falsch verstanden
Mit Zitat antworten
  #4 (permalink)  
Alt 13-10-2006, 10:39
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Jache84
Oder hbae ich die Funktion mal wieder komplett falsch verstanden
Ja hast du. Die funktion trennt abhängig von einem trennzeichen wie explode,
nur dass in diesem fall der trenner erst ermittelt wird in dem das muster
angewendet wird. Da regex alternativen unterstützt hast du also die möglichkeit
mit disjunkten trennern zu arbeiten.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #5 (permalink)  
Alt 13-10-2006, 11:22
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmmmm.

also wenn ich das hin schreibe:

PHP-Code:
<?

$str 
'<10';
$zeichen preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
echo 
$zeichen[0]."<br>";
echo 
$zeichen[1];

?>
dann bekomme ich nur das ausgegeben:

<
1

sprich eigentlich nichts was ich will, der trennt mir einfach alle Zeichen des Strings und splittet sie auf.

Vor allem ich ahbe in meinem String zwischen dem Operator und der Zahl kein Leerzeichen.

Irgendwie verstehe ich das nicht so.
Mit Zitat antworten
  #6 (permalink)  
Alt 13-10-2006, 11:48
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
dann bekomme ich nur das ausgegeben:
<
1
PHP-Code:
print_r(preg_split('/(<|>)=?/','<=10<20>=30',-1,PREG_SPLIT_NO_EMPTY));
//ausgabe
/*
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)
*/ 
Zitat:
sprich eigentlich nichts was ich will, der trennt mir einfach alle Zeichen des Strings und splittet sie auf.
Dann drück dich so aus dass man auch versteht was du willst

edit
Wie kommt das leerzeichen in das muster ? Im code ist es
jedenfalls nicht.
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #7 (permalink)  
Alt 13-10-2006, 12:14
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was fü ein Leerzeichen meinst du?

Also dann nochmal. Ich brauche das ganze für eine Formularabfrage. Der User gibt ein <10 oder >10 oder <=10 oder >=10. Somit möchte ich aus der Eingabe vom USer auslesen wie ich meine WHERE Klausel im SQL Statement bauen muss. Und deswgen brauche ich irgendeine PHP Funktion die mir ein Strin in zwei Strings trennt und zwar genau da wo die erste Zahl drin vor kommt.

Sprich User gibt ein <10

ich will dann haben $eingabe[0] = "<"
und $eingabe[1] = "10"

und wenn USer eingibt: < 10 (mit Leerzeichen) dann soll halt rauskommen:
$eingabe[0] = "< "
$eingabe[1] = "10"

Hoffe es ist jetzt verständlich

Liebe Grüße
Jochen
Mit Zitat antworten
  #8 (permalink)  
Alt 13-10-2006, 12:27
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

äh ja. Also ich würde ja dem user nicht erlauben in meinen sql-strings
rum zu schreiben. Aber ok.
Code:
/(<|>|<=|>=)(?: *)(\d+)/
Das ganze mit preg match und du erhältst als match[1] das ordnungszeichen
und als match[2] den wert.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #9 (permalink)  
Alt 13-10-2006, 12:44
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Spitze habe es.

DANKE!

Wie würdest du er machen, wenn der USer nicht im SQL Statement rum fuschen soll?

Für die die es interessiert hier der Code:

PHP-Code:
<?
$string 
"<=20"
preg_match('/(<|>|<=|>=)(?: *)(\d+)/'$string$result);  
echo 
"[0]".$result[0]."<br>";
echo 
"[1]".$result[1]."<br>";
echo 
"[2]".$result[2]."<br>";
?>
Liebe Grüße
Jache84
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:46 Uhr.