login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Functie werkt niet

Offline Frederic - 21/05/2005 22:22
Avatar van FredericPHP ver gevorderde Ik had eerst op mijn site zo'n functie draaien:

  1. <?
  2. function activeer_ubb (&$tekst) {
  3. $tekst = str_replace(":-)", "<img alt=\":-)\" src=\"lach.gif\" />", $tekst);
  4. $tekst = str_replace(":-D", "<img alt=\":-D\" src=\"grote_lach.gif\" />", $tekst);
  5. }
  6. ?>
, maar aangezien dat nogal wat regels code innam wou ik dat vervangen door een functie, namelijk deze:
  1. <?
  2. function tekst_naar_emoticon($code, $bestandsnaam){
  3. $tekst = str_replace($code, "<img alt=\"".$code."\" src=\"".$bestandsnaam.".gif\" />", $tekst);
  4. }
  5. function activeer_ubb (&$tekst) {
  6.  
  7. tekst_naar_emoticon(':-)', 'lach');
  8. tekst_naar_emoticon(':-D', 'grote_lach');
  9. }
  10. ?>

Maar dan krijg ik altijd:
Citaat:
Warning: Missing argument 2 for tekst_naar_emoticon()

11 antwoorden

Gesponsorde links
Offline ikkedikke - 21/05/2005 23:21
Avatar van ikkedikke PHP expert waar staat dat &-teken voor in het eerste argument van activeer_ubb() voor? in die eerste functie gebruik je nl. ook $tekst maar die geef je niet door via de argumenten
Offline Frederic - 21/05/2005 23:28
Avatar van Frederic PHP ver gevorderde euhm dat & teken, goeie vraag, toen ik het maakte wist ik het Maar het werkt ook met dus dan laat ik het maar staan...
Hoe bedoel je, geef ik niet door via argumenten?
Offline ikkedikke - 21/05/2005 23:38
Avatar van ikkedikke PHP expert in die str_replace staat als laatste argument "$tekst", en volgens mij werkt een variabele buiten de functie gemaakt niet in die functie...
overigens werkt dit ook:
  1. <?
  2. function activeer_ubb ($tekst)
  3. {
  4. $smiles = array(":-)",":-D");
  5. $adressen = array('<img alt=":-)" src="lach.gif" />',
  6. '<img alt=\":-D\" src=\"grote_lach.gif\" />');
  7. return str_replace($smilies, $adressen, $tekst);
  8. }?>
Offline TFOL - 21/05/2005 23:42
Avatar van TFOL PHP beginner volgens mij geef je niet op waar hij die functie in moet uitvoeren
Offline Legolas - 22/05/2005 11:43 (laatste wijziging 22/05/2005 11:49)
Avatar van Legolas Onbekend Jah!:
str_replace weet nu niet in welke string hij moet replacen, dus gaat ie klieren:cool:
gebruik ook str_ireplace()
ook: global gebruiken
Offline Tuinstoel - 22/05/2005 11:56
Avatar van Tuinstoel PHP expert str_ireplace is alleen voor PHP5, en de meesten draaien nog onder PHP 4, dus dat is je afgeraden.

Daarom kun je beter eregi_replace() gebruiken, heeft dezelfde werking.
Offline Kr4nKz1n - 22/05/2005 12:07 (laatste wijziging 22/05/2005 12:07)
Avatar van Kr4nKz1n Onbekend Bij die 2ste gebruik je toch meer regels dan daarvoor of heb ik dat mis?
Offline Frederic - 22/05/2005 12:12
Avatar van Frederic PHP ver gevorderde jah, maar ik dacht omdat je een functie gebruikte dat het dan sneller ging, of ben ik hier mis in?
Offline Kr4nKz1n - 22/05/2005 12:17
Avatar van Kr4nKz1n Onbekend mwhua ut gaat niet sneller
maar wel makkelijker om het vaker te gebruiken volgens mij
Offline Frederic - 22/05/2005 12:29
Avatar van Frederic PHP ver gevorderde Jah daarmee, maar dan moet ik het wel eerst werkend krijgen 
Offline Rens - 22/05/2005 13:54 (laatste wijziging 22/05/2005 13:55)
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?PHP
  2. function smilies($sText)
  3. {
  4. // de text in $sReturn zetten
  5. $sReturn = $sText;
  6.  
  7. // extentie van je smilies
  8. $sExt = ".gif";
  9. // path naar je smilies
  10. // makkelijk om andere smilies in te stellen
  11. $sPath = "images/smilies/";
  12.  
  13. // codes van je smilies
  14. $aCode[] = ":-)";
  15. $aCode[] = ":-D";
  16.  
  17. // plaatjes van je smilies
  18. // wel zorgen dat ze op de juiste plaats staan
  19. // anders krijg je de verkeerde smilie bij een code
  20. $aSource[] = "lach";
  21. $aSource[] = "grote_lach";
  22.  
  23. // kijken of er evenveel codes als plaatjes zijn
  24. if(!count($aCode) != count($aSource))
  25. {
  26. // er zijn niet evenveel codes als plaatjes
  27. $sReturn = "Error!- Er zijn niet evenveel codes als plaatjes!";
  28. } else
  29. {
  30. // er zijn wel evenveel codes als plaatjes
  31. // dus een for loopje maken die door de codes
  32. // heen loopt
  33. for($i = 0; $i < count($aCode); $i++)
  34. {
  35. // de codes verplaatsen voor een img tag
  36. $sReturn = str_replace($aCode[$i], "<img src='".$sPath.$aSource[$i].$sExt."' alt='".$aCode[$i]."'>", $sReturn);
  37. }
  38. }
  39. // $sReturn returneren
  40. return $sReturn;
  41. }
  42. ?>


Zo is de functie te gebruiken:

  1. <?PHP
  2. include("functie.smiles.php");
  3. $sText = ":-) en :D";
  4. echo smilies($sText);
  5. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s