Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wykonanie kodu ze zmiennej
Forum PHP.pl > Forum > Przedszkole
bar_bara
Witam,
Czy można "wykonać" kod, który przechowuję w zmiennej:
  1. $lp = explode("|","do-wstawienia-fragment-pierwszy|drugi|trzeci...");
  2. $linkCreator = '<a href=\"http://serwer.com/".$lp[0]."/.start.html\" target=\"_blank\"><img src=\"http://serwer.com/".$lp[1]."/sp.jpg\" alt=\"".chop($lp[2]).\"" width=\"113\" height=\"170\"></a>';

i teraz chcę jakoś otrzymać po echo :
<a href=\"http://serwer.com/do-wstawienia-fragment-pierwszy/start.html... ?
tehaha
  1. $lp = explode("|","do-wstawienia-fragment-pierwszy|drugi|trzeci...");
  2. $linkCreator = "<a href=\"http://serwer.com/".$lp[0]."/.start.html\" target=\"_blank\"><img src=\"http://serwer.com/".$lp[1]."/sp.jpg\" alt=\"".chop($lp[2]).\"" width=\"113\" height=\"170\"></a>";

powinno teraz działać
bar_bara
Nie do końca o to mi chodzi bo na początku skryptu deklaruję zmienną $linkCreator = '<a href=\"http://serwer.com/".$lp[0]. ...'; jako coś w rodzaju szablonu a teraz chcę go użyć tzn po echo chcę uzyskać <a href=\"http://serwer.com/do-wstawienia-fragment-pierwszy/start.html... a otrzymuję <a href=\"http://serwer.com/".$lp[0]. ...
tehaha
wklej:
  1. $lp = explode("|","do-wstawienia-fragment-pierwszy|drugi|trzeci...");
  2. $linkCreator = "<a href=\"http://serwer.com/".$lp[0]."/start.html\" target=\"_blank\"><img src=\"http://serwer.com/".$lp[1]."/sp.jpg\" alt=\"".chop($lp[2])."\" width=\"113\" height=\"170\"></a>";
  3. echo $linkCreator;
phpion
sprintf
Damiian
tehaha

Czym się różni kod:
  1. $lp = explode("|","do-wstawienia-fragment-pierwszy|drugi|trzeci...");
  2. $linkCreator = '<a href=\"http://serwer.com/".$lp[0]."/.start.html\" target=\"_blank\"><img src=\"http://serwer.com/".$lp[1]."/sp.jpg\" alt=\"".chop($lp[2]).\"" width=\"113\" height=\"170\"></a>';
  3. echo $linkCreator


Od:

  1. $lp = explode("|","do-wstawienia-fragment-pierwszy|drugi|trzeci...");
  2. $linkCreator = "<a href=\"http://serwer.com/".$lp[0]."/start.html\" target=\"_blank\"><img src=\"http://serwer.com/".$lp[1]."/sp.jpg\" alt=\"".chop($lp[2])."\" width=\"113\" height=\"170\"></a>";
  3. echo $linkCreator;


Wiem ze usunełes kropke w: /.start.html\
oraz dodales na poczatku i na końcu: " "
ale gdy ja usune z pierwszego kodu kropke , dodam znaczniki " " i go wkleje to dalej nie działa..

jak to zrobiłeś?
tehaha
tu nie chodziło o tą kropkęsmile.gif
1. w pierwszym masz echo w apostrofach a w drugim w cudzysłowu - więc w pierwszym nie działa takie wyjście ".$lp[0]." i dlatego było to jako string (widać to nawet po kolorowaniu składni w bbcode)
2. przed width był \, w złym miejscu

drugi przykład działa jak należy bo sam testowałem
bar_bara
konstrukcja sprintf na pierwszy rzut oka pasuje
  1. $linkCreator = '<a href=\"http://serwer.com/%s/.start.html\" target=\"_blank\"><img src=\"http://serwer.com/%s/sp.jpg\" alt=\"%s" width=\"113\" height=\"170\"></a>';
  2. echo sprintf("$linkCreator", $lp[0], $lp[1], $lp[2]);

ale mam różne kombinacje generowanych linków i przy innym $linkCreator może być np sprintf("$linkCreator", $lp[0], $lp[0], $lp[0], lp[2]) czyli więcej elementów i w innej kolejności...
Ale mam nadzieję, że ta wskazówka okaże się pomocna. Dzięki.
Damiian
Faktycznie, Dziekuje smile.gif

Mam jeszcze małe pytanie,
czemu kod:
  1. $linkCreator = "<a href=\"http://serwer.com/".$lp[0]."/start.html\" target=\"_blank\">Link</a>";


Musi być z: \, a nie normalnie np:

  1. $linkCreator = "<a href="http://serwer.com/".$lp[0]."/start.html" target="_blank">Link</a>";


bo widze ze cos jest nie tak, juz po koloże składni.
tehaha
przeczytaj, zrozumiesz - http://www.tizag.com/phpT/echo.php
Damiian
No i wszystko jasne:)

Dziękuje winksmiley.jpg
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.