Archivlink: javarea.de Forum > PHP, MySQL & CGI > Eigene Funktion in PHP definieren
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > Eigene Funktion in PHP definieren

Pages: [1]

geschrieben von Beat am 28.09.2008 - 14:10
Hallo die Damen und Herren,
es ist mal wieder soweit, ich hät da mal ne fräge:

Wie definier ich in PHP eine Funktion?

Ich will eine Funktion definieren, die mir aus einem String die Zeichenfolgen oe, ue, und ae durch "ö" , "ü" , "ä"
ersetzt, damit ich den string dann in HTML ausgeben kann.

Grüsse aus Schweizland

Beat

geschrieben von Klaush am 28.09.2008 - 15:52
in dem du die Funktion wie in allen anderen Sprachen bennenst?


PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

<?
meineFunktion 
function($zeichenkette="")
{
    
$str ereg_replace("ü""&uuml;"$zeichenkette);
    
usw...
    
    return 
$str;
}
?>



Aufruf der Funktion:

PHP-Quelltext
1: 
2: 
3: 
4: 

<?
$text
"Hier stünde dein neuer Satz.";
echo 
meineFunktion($text):
?>


geschrieben von Beat am 28.09.2008 - 17:06
Hallo Klaus,

danke für Deine rasche Hilfe, ich habe leider folgende Fehlermeldung erhalten:
"Parse error: syntax error, unexpected T_FUNCTION in file_read2.php on line 2"
Zeile 2 ist: "meineFunktion function($zeichenkette="")"

Ich habe dann folgenden weg gewählt:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

<?
function myStringChange ($string)
    {
    
$string ereg_replace('oe','&ouml;',$string);
    
$string ereg_replace('ue','&uuml;',$string);
    
$string ereg_replace('ae','&auml;',$string);
    return 
$string;
}
?>



Ich rufe dann folgendermasen auf:
PHP-Quelltext
1: 
2: 
3: 

<?
$string 
call_user_func(myStringChange,$string);
?>



Der Code scheint so zu laufen.

Nochmals danke für die Hilfe





geschrieben von Klaush am 28.09.2008 - 17:58
Da war einfach nur ein Zeichen falsch. Em Ende muss natürlich ein Semikolon ";" stehen und ein Doppelpunkt ":".

Das Aufrufen der call_user_func() die dann deine spezifische Funktion aufruft ist aus meiner Sicht Kontraproduktiv und macht keinen Sinn, aber funktionieren wird es, da es ein PHP Standard ist. Die Vor - und Nachteile der call_user_func() sind mir jedoch fremd, da ich diese Funktion nie verwendet habe.

geschrieben von Beat am 29.09.2008 - 12:16
@Kalus,

Sorry, ist mir nicht aufgefallen, dass da ein : statt einem ; war.
Ich werde das natürlich nochmals ausprobieren.

geschrieben von mosi am 04.10.2008 - 16:38
Zitat von: Beat am 28.09.2008 - 17:06
 
Hallo Klaus,

danke für Deine rasche Hilfe, ich habe leider folgende Fehlermeldung erhalten:
"Parse error: syntax error, unexpected T_FUNCTION in file_read2.php on line 2"
Zeile 2 ist: "meineFunktion function($zeichenkette="")"

Ich habe dann folgenden weg gewählt:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

<?
function myStringChange ($string)
    {
    
$string ereg_replace('oe','&ouml;',$string);
    
$string ereg_replace('ue','&uuml;',$string);
    
$string ereg_replace('ae','&auml;',$string);
    return 
$string;
}
?>




moin moin,

so lange du nur Zeichenketten ohne Verwendung von regulären Ausdrücken ersetzen willst, ist zu str_replace() geraten (performanter). Die Parametersyntax ist analog zu ereg_replace().


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.