php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.01.2012, 23:36  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

tja, du könntest in dem Formelstring nach dem ^ suchen und dann davor + dahinter solange, bis du auf ein anderes aus {+-*/} triffst und dann den String extrahieren und exploden wie o.a..
mit strpos() zB
Harry_X ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.01.2012, 09:14  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

dein erster Ansatz hängt doch nicht am explode - sondern daran, dass du stur von nur 2 Termen ausgehst - wenn da ^mehrfach vorkommt, bekommst du aber mehrere Teil-Terme, die du wiederum rekursiv auswerten müsstest
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 24.01.2012, 19:10  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von tobi.u Beitrag anzeigen
Nun wie gesagte, wenn man die Eingaben ordentlich filtert sehe ich kein Problem darin.
Das ist naiv und grob fahrlässig.

Weiteres per PM.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 28.01.2012, 22:47  
Neuer Benutzer
 
Registriert seit: 30.10.2011
Beiträge: 17
PHP-Kenntnisse:
Anfänger
tobi.u befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Das ist naiv und grob fahrlässig.
Stimmt ohne Filter (wie das bei mir der Fall war) ist es fahrlässig. Aber wenn man z.B. nur Rechenoperatoren und Zahlen zulässt, wird das einfügen von Schadcode schon weitaus schwieriger. Ich hab erstmal ne kleine Funktion geschrieben die genau das in einem kleineren Umfang macht.


Zitat:
dein erster Ansatz hängt doch nicht am explode - sondern daran, dass du stur von nur 2 Termen ausgehst - wenn da ^mehrfach vorkommt, bekommst du aber mehrere Teil-Terme, die du wiederum rekursiv auswerten müsstest.
Nun bevor du jemandem ein stures Vorgehen vorwirfst solltest du erstmal mein Problem lesen, dann wirst du feststellen, dass das Problem nicht daran liegt, dass ich den Term nicht rekursiv auswerte, sondern dass das pow() dann den gesamten Term umschließen würde. BTW: eine rekursive Auswertung ist auch kein muss.

Ich hab mir jetzt eine Funktion geschrieben, die wie Harry_X bereits vorgeschlagen hat, nach dem nächsten Rechenzeichen sucht und dort exploded, das hat auch geklappt. War auch nicht ganz einfach da ja auch Ausdrücke wie etwa (x+5)^(x/2) möglich sein mussten, also wäre anstatt des nächsten Rechenzeichens nach einer Klammer zu suchen und das ganze wieder anders zu behandeln.

mfg

Geändert von tobi.u (28.01.2012 um 22:57 Uhr).
tobi.u ist gerade online   Mit Zitat antworten
Alt 30.01.2012, 12:52  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ja .. soweit meinte ich das auch - such doch einfach nach "nicht Zahl" Zeichen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Antwort


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
Funktionsgraphen zeichnen, Term einlesen tobi.u PHP Einsteiger 1 30.10.2011 21:13
[Erledigt] Variable in Funktion "header" einsetzen ePole PHP Tipps 2010 5 14.04.2010 14:52
preg_replace() Reference in Pattern einsetzen? hondatuner PHP Tipps 2010 3 01.04.2010 01:21
String parsen und Variablen/Array einsetzen? (\$ --> $) dawn2k PHP Tipps 2010 2 04.03.2010 21:59
Prepared Statements immer einsetzen? Sangreal PHP-Fortgeschrittene 10 19.10.2009 09:28
Exceltabelle nun im Web einsetzen phlyer Datenbanken 1 15.03.2009 19:04
[Erledigt] bildquelle ermitteln und als variabel speichern und einsetzen ld_forester PHP Tipps 2008 8 27.08.2008 12:11
[Erledigt] Smilies mittels str_replace einsetzen? jackoff PHP Tipps 2008 31 13.05.2008 21:48
Zufallsgenerator sinvoll einsetzen jesus666 PHP Tipps 2006 8 24.06.2006 13:47
Wann persistente MySQL Connections einsetzen? HStev PHP-Fortgeschrittene 2 02.02.2006 13:14
Array: Daten nur eimalig einsetzen SvenLittkowski PHP Tipps 2007 5 20.11.2005 23:44
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
TPL System - Funktionen - Einsetzen - Rechte Problem PHP Tipps 2005 4 26.03.2005 15:17
Problem beim Einsetzen von array_unique PHP Tipps 2004-2 1 06.12.2004 09:07
Intro einsetzen ? PHP Tipps 2004 2 05.08.2004 17:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:36 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