Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [WR] Poraz kolejny z pomocą sie zwracam
Forum PHP.pl > Forum > Przedszkole
id4
Witam

Poraz kolejny z pytaniem o Wyrażenia Regularne.
Pisząc funkcję napotkałem na problem, którego nie potrafię obejść.
Może ktoś będzie wiedział, jak napisać coś takiego:

  1. <?php
  2.  
  3. // funkcja umieszczania komponentow
  4. function htmlString($base,$id){
  5.  $query=&#092;"select code from hr_html where id='$id'\";
  6.  $result=mysql_query($query);
  7.  if($dane=mysql_fetch_array($result))
  8.  return $dane[code];
  9. }
  10.  
  11. // funkcja aktywowania linkow
  12. function activeString($base,$string){
  13.  $string = stripslashes(trim($string));
  14.  $string = preg_replace(&#092;"#(.*?)#si\", \"<strong>1</strong>\", $string);
  15.  $string = preg_replace(&#092;"#(.*?)#si\", \"<em>1</em>\", $string);
  16.  // ciach ---------
  17.  $string = nl2br($string);
  18.  $string = preg_replace_callback(&#092;"/
    1. (.*?)
    /si\", create_function('$func', 'return htmlString($base,$func[1]);'), $string);
  19.  return $string;
  20. }
  21.  
  22. ?>


Mój problem leży w linii 18, a mianowicie:
Do funkcji activeString() podaję tablicę $base.
Chciałbym podać 'dalej' tą tablicę do funkcji htmlString(). Problem jednak w tym, że nie potrafię tego zrobić. Funkcja za każdym podaje string zamiast tablicy. Może jest sposób na obejście tego?

Chciałbym dodać, ze całość działa dobrze - nie przekazuje jedynie tablicy do kolejnej funkcji - tak więc ni trzeba śledzić całości kodu, a jedynie ten fragment:

  1. <?php
  2.  
  3. create_function('$func', 'return htmlString($base,$func[1]);')
  4.  
  5. ?>
FiDO
tak na szybko, bo wlasnie wychodze...

  1. <?php
  2.  
  3.   &#092;"/
    1. (.*?)
    /si\", 
  4.   create_function(
  5.     '$func', 
  6.     'return htmlString('. var_export($base, true) .',$func[1]);'), 
  7.   $string);
  8.  
  9. ?>


Nie mam specjalnie czasu sprawdzic.. mam jeszcze inny pomysl, ale teraz juz nie zdaze, napisze pozniej jak bedzie trzeba.
id4
Człowiek całe życie się uczy ...
I całe życie uświadamia sobie, jaki jest malutki ...

Wielkie dzięki - strzał w dziesiątkę ...
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.