php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.04.2008, 11:47  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard eregi_replace soll auch Klammern() ersetzten

Hallo,
bevor ich jetzt lange Rede zeige ich erstmal den Code:
PHP-Code:
$such='test()';
$ers='ok';
$test='hier muss test() stehen';
$test eregi_replace($such,$ers,$test);
echo 
$test
Bei der Ausgabe diese Codes kommt : hier muss ok() stehen
heraus es sollte aber :hier muss ok stehen da stehen.
Wenn ich nur "$such='test\(\)';" so mache funktioniert das.
Nur diese möglichkeit habe ich nicht da die $such bei jeden Aufruf anderes ist mal ist eine Klammer vorhanden und mal nicht.
Meine frage ist nun, was muss ich machen damit eregi_replace die Klammer immer mit Ersetzt. Gibt es noch eine andere Funktion?
themonk ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.04.2008, 11:53  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

hi,

zunächst einmal ist eregi_replace() veraltet und sollte durch preg_replace ersetzt werden. dann solltest du verstehen lernen, was Reguläre Ausdrücke sind. wie du siehst sind diese recht umfangreich und deswegen auch langsam. sie sollten also vermieden werden. dein beispiel lässt sich mit str_replace zum beispiel viel schneller erledigen:

PHP-Code:
$such='test()'
$ers='ok'
$test='hier muss test() stehen'
$test str_replace($such,$ers,$test); 
echo 
$test
Zitat:
Nur diese möglichkeit habe ich nicht da die $such bei jeden Aufruf anderes ist mal ist eine Klammer vorhanden und mal nicht.
die frage ist, woher kommt diese suchanfrage und ist sie fix oder variabel?
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 06.04.2008, 11:56  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo bölckstoff,

ich würde dir empfehlen die preg_*()-Funktionen zu nutzen, diese sind gegenüber den eregi_*()-Funktionen neuer und auch schneller.

Da reguläre Ausdrücke ebenfalls einem definierten Muster entsprechen, musst du Symbole, die eine Bedeutung für den Ausdruck haben immer quotieren. Schreib dir einfach eine Funktion, die aus allen für deinen regulären Ausdruck wichtigen Zeichen mit einem "\" versieht.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 06.04.2008, 15:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von dr.e.
Schreib dir einfach eine Funktion, die aus allen für deinen regulären Ausdruck wichtigen Zeichen mit einem "\" versieht.
Dafür gibt es bereits eine Funktion: preg_quote ()

@bölckstoff: Wie jeden variablen Bestandtteil mußt Du die gequoteten Klammern eben klammern und mit einem ? oder einem * versehen.
nikosch ist offline  
Alt 07.04.2008, 17:27  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Daf�r gibt es bereits eine Funktion: preg_quote ()
genau die Funktion habe ich gesucht.
Danke.

Sind die preg_*() Funktionen wirklich soviel schneller als die eregi_*() Funktionen z.B. "eregi_replace oder preg_replace" ist ja das gleiche nur schneller oder wie?
themonk ist offline  
Alt 07.04.2008, 19:51  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Sind die preg_*() Funktionen wirklich soviel schneller als die eregi_*() Funktionen z.B. "eregi_replace oder preg_replace" ist ja das gleiche nur schneller oder wie?
jap, macht sich wirklich bemerkbar. ereg_* wurde halt nie weiterentwickelt, preg_* schon.
zu bemerken sei noch, dass ereg in php6 zugunsten von preg (pcre) rausfliegt.
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson 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
eregi_replace soll auch Klammern() ersetzten themonk PHP Tipps 2008 8 08.04.2008 09:30
Inhalte zwischen 2 Klammern auslesen duderino PHP Tipps 2007 14 20.01.2007 22:57
n - zeichenfolge in einem string ersetzten Dave Waterstone PHP Tipps 2006 7 25.08.2006 07:14
Eckige Klammern in Template nutshell PHP Tipps 2006 9 05.06.2006 19:12
Teile der Seite bei Klick auf Link durch andere ersetzten <Daniel> PHP Tipps 2006 12 15.05.2006 12:30
Leerzeichen durch % ersetzten Markus Biehl PHP Tipps 2006 35 23.01.2006 18:06
Buttons durch Grafik ersetzten? HTML, Usability und Barrierefreiheit 4 08.01.2006 17:25
ersetzten von mehreren zeichen Sclot PHP Tipps 2005-2 5 13.06.2005 06:33
Browser Icon in der Leiste durch eigenes ersetzten. Eddaholzbein HTML, Usability und Barrierefreiheit 6 06.06.2005 15:40
fopen und zeichen ersetzten PHP Tipps 2005 1 09.04.2005 22:48
Text durch ein Bild ersetzten PHP Tipps 2005 8 06.03.2005 15:32
klammern von header bis footer PHP Tipps 2004-2 7 17.12.2004 13:02
Klammern PHP Tipps 2004 3 08.09.2004 11:23
Klammern ? PHP Tipps 2004 19 05.08.2004 01:55
klammern PHP Tipps 2004 3 05.07.2004 16:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
eregi_replace fur jappy, eregi_replace

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