Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: zamiana
Forum PHP.pl > Forum > Przedszkole
kalinowski
problem byl banalny i wogole juz go rozwiazalem dlatego go zmienilem.

jak wyswietlic ciag znakow ze zmiennej $ciag tak zeby zamiast {blog} wstawial funkcje blog





edit: (po wielu probach)
------------------------------------------------------------------


stworzylem takie cos:
  1. <?php
  2. echo str_replace(&#092;"{blog}\", \"blog()\", $string);
  3. ?>

i jak zrobic zeby przy zamianie nie wyswietlal
Kod
blog()
tylko zeby wykonywal funkcje blog(); ?
kalinowski
zrobilem cos takiego :
  1. <?php
  2. function blog () {
  3.  
  4. print &#092;"<font color=red>dgfdgdfgdf</font>\";
  5.  
  6. }
  7.  
  8. $string = &#092;"fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjd
    s
  9. fd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd {blog} fmndsjkfndsjkfnsdk fdsf sdfgjk
  10. fgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsd
  11. ggfd gd \";
  12. $string = str_replace(\"{blog}\", \"blog()\", $string);
  13.  
  14.  
  15. eval(\"$string = \"$string\\";\");
  16.  
  17. print $string;
  18.  
  19. ?>

i dalej nie dziala poniewaz wyswietla tak:

fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd blog() fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd

a powinno :

fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd dgfdgdfgdf fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd
Dabroz
  1. <?php
  2. function blog () {
  3.  
  4. return &#092;"<font color=red>dgfdgdfgdf</font>\";
  5.  
  6. }
  7.  
  8. $string = &#092;"fmndsjkfndsjkfnsdk fdsf sdfgjknfgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjd
    s
  9. fd sfsdjifsdfjisdf sdfsdf sdfdsfsdfggfd gd {blog} fmndsjkfndsjkfnsdk fdsf sdfgjk
  10. fgdh sgdfs fsdfsdjifjsdkfndskj sfjdsif dsfjdsifd sfsdjifsdfjisdf sdfsdf sdfdsfsd
  11. ggfd gd \";
  12. $string = str_replace(\"{blog}\", blog(), $string);
  13.  
  14.  
  15. eval(\"$string = \"$string\\";\");
  16.  
  17. print $string;
  18.  
  19. ?>
kalinowski
jeszcze jeden problem exclamation.gif

mam takie cos :
  1. <?
  2. function blog () {
  3.  
  4. print &#092;"<font color=red>ccccccccccccc</font>\";
  5.  
  6. }
  7.  
  8. $string = &#092;"aaaaaaa  aaaaaa {blog} bbb b bb b b b b\";
  9.  
  10.  
  11. print &#092;"<br><br><br>\";
  12.  
  13. $string = str_replace(&#092;"{blog}\", blog(), $string);
  14.  
  15.  
  16. eval(&#092;"$string = \"$string\\";\");
  17.  
  18. print $string;
  19.  
  20.  
  21.  
  22. ?>


i czemu miesza mi kolejnosc ?

u mnie wyswietla tak:

cccccccccccccaaaaaaa aaaaaa bbb b bb b b b b
kszychu
Nie chce mi siê t³umaczyæ dlaczego tak jest, ale zamieñ print na return w funkcji blog() i bêdzie dobrze.
kalinowski
hmm a jak w funkcji bedzie potezny kod to czy zawsze zamiast printów musi byc return ?
i czy inne funkcje tez musze pozmieniac ?
jesi tak to jakie ?
kszychu
Cytat(kalinowski @ 2004-07-20 12:53:21)
i czy inne funkcje tez musze pozmieniac ?
jesi tak to jakie ?

Kurna facet! a sk±d niby ja mam wiedzieæ jakie ty masz funkcje i czy powiniene¶ w nich co¶ zmieniaæ czy nie!
Ja ci tylko próbuje ukazaæ ró¿nicê miêdzy tym co funkcja WYKONUJE a tym, co funkcja ZWRACA. Jak napiszesz w funkcji echo, to zostanie to wyswiettlone natychmiast w trakcie wykonywania siê funkcji. Je¶li za¶ zrobisz return, to funkcja zwróci (w Twoim przypadku napis) cos, co pó¼niej mo¿esz przypisaæ do jakiej¶ zmiennej i np. wy¶wietliæ.
kalinowski
moja funkcja jest teraz o wiele bardziej rozbudowana exclamation.gif

Oto ona :
  1. <?
  2. function blog () {
  3. include(&#092;"dane.php\");
  4.  
  5. mysql_connect ($host, $log, $pass) or
  6. die (&#092;"Nie mo¿na po³&plusmn;czyæ siê z baz&plusmn; danych.\");
  7. mysql_select_db ($baza) or
  8. die (&#092;"Nie mo¿na po³&plusmn;czyæ siê z baz&plusmn; danych.\");
  9.  
  10. $zmienna = &#092;"blog\";
  11.  
  12. print &#092;"<font color=red>ccccccccccccc</font>zmienna :\". $zmienna;
  13.  
  14.  
  15.  
  16. $notki = &#092;"SELECT * FROM notki WHERE login='\". $zmienna .\"' ORDER BY id DESC $limit\";
  17. $query = mysql_query ($notki) or
  18. die (&#092;"bladek\");
  19.  
  20.  
  21.  
  22. while ($rek = mysql_fetch_array ($query)) {
  23.  
  24.  
  25. $id = $rek[0];
  26. $login = $rek[1];
  27. $temat = $rek[2];
  28. $tresc = $rek[3];
  29. $data = $rek[4];
  30. $godzina = $rek[5];
  31.  
  32. if (empty($_GET[m]) || empty($_GET[r]) ){
  33.  
  34.  print $temat .&#092;"<br><br>\";
  35.  
  36.  $url = &#092;"notkigify/\". $id .\".gif\";
  37.  
  38.  if (file_exists ($url)) {
  39. print &#092;"<img src='$url' align='left'>\";
  40.  }
  41.  
  42.  print $tresc .&#092;"<br><p align='right'><br clear='all'>\". $data .\" \". $godzina .\"</p>\";
  43.  
  44.  
  45.  $komentarze = mysql_query (&#092;"SELECT * FROM komentarze WHERE idnotka='\". $id .\"'\");
  46.  $kom = mysql_num_rows ($komentarze);
  47.  
  48.  print &#092;"<p align='right'><a href='komentarze.php?$login&id=$id'>Komentarze[\". $kom .\"]</a>\";
  49. print &#092;"</p>\";
  50. if ($log==&#092;"ok\"){
  51.  print &#092;"<br><a href='notka_del.php?login=\". $zmienna .\"&id=\".$id.\"'><img src='grafa/del.png' border=0 alt='Usuñ notkê'>Usuñ notkê</a>\";
  52. }
  53.  
  54.  
  55.  
  56. } else {
  57.  
  58.  
  59. $ex = explode ('.', $data);
  60.  
  61. $data_m = $ex[1];
  62. $data_r = $ex[2];
  63. if ($data_m==$_GET['m'] && $data_r==$_GET['r']){
  64.  
  65. print $temat .&#092;"<br><br>\";
  66.  
  67.  $url = &#092;"notkigify/\". $id .\".gif\";
  68.  
  69.  if (file_exists ($url)) {
  70. print &#092;"<img src='$url' align='left'>\";
  71.  }
  72.  
  73.  print $tresc .&#092;"<br><p align=right><br clear='all'>\". $data .\" \". $godzina .\"</p>\";
  74.  
  75.  
  76.  $komentarze = mysql_query (&#092;"SELECT * FROM komentarze WHERE idnotka='\". $id .\"'\");
  77.  $kom = mysql_num_rows ($komentarze);
  78.  
  79.  print &#092;"<p align='right'><a href='komentarze.php?$login&id=$id'>Komentarze[\". $kom .\"]</a>\";
  80.  if ($log==&#092;"ok\"){
  81.  print &#092;"<a href='notka_del.php?login=\". $_GET['login'].\"&id=\".$id.\"'><img src='grafa/del.png' alt='Usuñ notkê'>Usuñ notkê</a>\";
  82. }
  83. return &#092;"</p>\";
  84. }
  85. }
  86. }
  87.  
  88. ?>

dlaczego funkcja znow jest wykonana na poczatku ?
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.