Nie wiem gdzie zrobiłem ten błąd bo trochę już napisałem i... po przeglądnięciu całego pliku z funkcjami nie mam pojęcia co za to odpowiada że aby wyświetlić np :

Cytat
c:\windows


to muszę w kodzie wypisać :

Cytat
c:\\\\windows


zamiast tego jak powinno być czyli :

Cytat
c:\\windows


Według mnie wszystko powinno działać ładnie ale jak tylko dam aby tekst był konwertowany przez BodyCreate() to wtedy wywala mi że chce 4 znaków '\' a nie 2 znaków '\' aby takowy znak w ogóle wyświetlić sad.gif

Jeżeli ktoś ma chwilkę czasu (chyba dłuższą sad.gif ) to tu jest przykład i plik z funkcjami :

  1. <?php
  2.  
  3. include('funkcje.php');
  4.  
  5. // Tekst : 
  6. $body = 'Teraz zobaczymy jak to działa : // komentarz
  7. teraz nowa linia więc już nie komentarz
  8. a plik ten będzie w katalogu : "c:windows" lub : "c:windows"
  9.  
  10. I TO WSZYSTKO :-)'; 
  11.  
  12.  
  13. // wywołanie funkcji : 
  14. echo BodyCreate($body);
  15.  
  16. ?>


A teraz potrzebne funkcje : (plik : funkcje.php)

  1. <?php
  2.  
  3. //-----------------------------------------------------//-----------------------------------------------------//----------------------------------------------------- 
  4.  
  5.  function WinToLin($NapisDoZmiany)
  6.  {
  7. $Win = array(
  8.  ''
  9. );
  10. $Lin = array(
  11.  '/'
  12. );
  13. return trim(str_replace($Win, $Lin, $NapisDoZmiany));
  14.  }
  15.  
  16. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  17.  
  18.  function WinToISO($NapisDoZmiany)
  19.  {
  20. $Win = array(
  21.  'Ą',
  22.  'ą',
  23.  'Ś',
  24.  'ś',
  25.  'Ź',
  26.  'ź',
  27. 'UWAGA',
  28.  'Unit1.cpp',
  29.  'Unit1.h',
  30.  'Project1.cpp'  
  31. );
  32. $ISO = array(
  33.  'ˇ',
  34.  'ą',
  35.  'Ś',
  36.  'ś',
  37.  'Ź',
  38.  'Ľ',
  39. '<font color=red><b>UWAGA</b></font>',
  40.  '<font color=green><b>Unit1.cpp</b></font>',
  41.  '<font color=red><b>Unit1.h</b></font>',
  42.  '<font color=blue><b>Project1.cpp</b></font>'  
  43. );
  44. return trim(str_replace($Win, $ISO, $NapisDoZmiany));
  45.  };  
  46.  
  47. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  48.  
  49.  function WinToCPP($NapisDoZmiany)
  50.  {
  51. $Win = array( 
  52.  ' ',
  53.  '  ',
  54.  'private',
  55.  'public',
  56.  '__published',
  57.  'asm',
  58.  ' try',
  59.  ' try',
  60.  'catch',
  61.  '__finally',
  62.  'classid',
  63.  'for(',
  64.  'const ',
  65.  ' if',
  66.  ' if',
  67.  'else',
  68.  ' int ',
  69.  '(int)',
  70.  'bool ',
  71.  'char',
  72.  'float ',
  73.  'sizeof',
  74.  'struct',
  75.  'true',
  76.  'false',
  77.  'switch(',
  78.  'case',
  79.  'break;',
  80.  'void ',
  81. 'new ',
  82.  'this',
  83.  'delete',
  84. '__fastcall',
  85.  'return',
  86.  '//-line-'
  87. );
  88. $CPP = array(
  89. ' ',
  90.  '  ',
  91.  '<b>private</b>',
  92.  '<b>public</b>',
  93.  '<b>__published</b>',
  94.  '<b>asm</b>',
  95.  '<b> try</b>',
  96.  '<b> try</b>',
  97.  '<b>catch</b>',
  98.  '<b>__finally</b>',
  99.  '<b>classid</b>',
  100.  '<b>for</b>(',
  101.  '<b>const </b>',
  102.  '<b> if</b>',
  103.  '<b> if</b>',
  104.  '<b>else</b>',
  105.  '<b> int </b>',
  106.  '(<b>int</b>)',
  107.  '<b>bool </b>',
  108.  '<b>char</b>',
  109.  '<b>float </b>',
  110.  '<b>sizeof</b>',
  111.  '<b>struct</b>',
  112.  '<b>true</b>',
  113.  '<b>false</b>',
  114.  '<b>switch</b>(',
  115.  '<b>case </b>',
  116.  '<b>break</b>;',
  117.  '<b>void </b>',
  118.  '<b>new </b>',
  119.  '<b>this</b>',
  120.  '<b>delete</b>',
  121.  '<b>__fastcall</b>',
  122.  '<b>return</b>',
  123.  '//---------------------------------------------------------------------------'
  124. );
  125. return trim(str_replace($Win, $CPP, $NapisDoZmiany));
  126.  }
  127.  
  128. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  129.  
  130.  function IncludeME($NapisDoZmiany, $Znak)
  131.  {
  132. if($Znak == 1) 
  133. {
  134.  return '<font color="#008000">#include "'.$NapisDoZmiany.'"</font>';
  135. }else{
  136. return '<font color="#008000">#include <'.$NapisDoZmiany.'></font>';
  137.  }; 
  138.  }
  139.  
  140. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  141.  
  142.  function SetTable($Zawartosc, $source)
  143.  {
  144. if($source)
  145. {
  146.  $Zawartosc = preg_replace( '/(^|[^a-z0-9])([0-9]+(.[0-9]+)?)/mi', '$1<font color=red>$2</font>', $Zawartosc); // kolorowanie cyfer/liter
  147.  $Zawartosc = preg_replace( '/"(|(.*?[^]))"/', '<font color="#0000CC">"$1"</font>',  $Zawartosc); // kolorowanie między ""
  148.  $Zawartosc = preg_replace( '/'(|(.*?[^]))'/', '<font color=#0000CC>'$1'</font>', $Zawartosc); // kolorowanie między ''
  149.  $Zawartosc = preg_replace( '///(|(.*?[^]))n/', '<font color=green>//$1</font>',  $Zawartosc); // kolorowanie między // a nową linią
  150.  $Zawartosc = '
  151. <table BORDER=0 CELLPADDING=0 CELLSPACING=0 width=100%>
  152.  <tbody>
  153. <tr>
  154.  <td height=1 bgcolor="#C0C0C0"></td>
  155. </tr>
  156. <tr>
  157.  <td>
  158. <table BORDER=0 CELLPADDING=0 CELLSPACING=0 width=100% background="editor_bg.gif"> 
  159.  <tbody>
  160.  <tr> 
  161.  <td width=1 bgcolor="#C0C0C0"></td>
  162.  <td width=14 bgcolor="#F4F8FC" ></td>
  163.  <td width=1 bgcolor="#C0C0C0"></td>
  164.  <td width=10 bgcolor="#FFFFFF"></td>
  165.  <td width=*% bgcolor="#FFFFFF">'.$Zawartosc.'</td>
  166.  <td width=1 bgcolor="#C0C0C0"></td>
  167. </tr> 
  168.  </tbody>
  169.  </table>
  170.  </td>
  171. </tr>
  172. <tr>
  173.  <td height=1 bgcolor="#C0C0C0"></td>
  174. </tr>
  175.  </tbody>
  176. </table>';
  177. }else{
  178. $Zawartosc = '
  179. <table BORDER=0 CELLPADDING=0 CELLSPACING=0 width=100%>
  180.  <tbody>
  181. <tr align=justify>
  182.  <td height=100%>'.$Zawartosc.'</td>
  183. </tr>
  184.  </tbody>
  185. </table>';
  186.  };  
  187. return $Zawartosc;
  188.  }
  189.  
  190. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  191.  
  192.  function bbcode($s)
  193.  {
  194. $s = str_replace("]", "]", $s);
  195. $match_s = array('#
    1. (.*?)
    #se'
    );
  196. $replace_s = array("SetTable(WinToCPP(stripslashes('$1')), 1)");
  197. $s2 = preg_replace($match_s, $replace_s, $s);
  198.  
  199. $one = str_replace("]", "]", $s2);
  200. $match_one = array('#[kom](.*?)[/kom]#se');
  201. $replace_one = array("SetTable(WinToISO(stripslashes('$1')), 0)");
  202. $body_one = preg_replace($match_one, $replace_one, $one);
  203.  
  204. $two = str_replace("]", "]", $body_one);
  205. $match_two = array('##include <font color="#0000CC">"(.*?)"</font>#se');
  206. $replace_two = array("IncludeME(stripslashes('$1'), 1)");
  207. $body_two = preg_replace($match_two, $replace_two, $two);
  208.  
  209. $three = str_replace("]", "]", $body_two); 
  210. $match_three = array('##include <(.*?)>#se');
  211. $replace_three = array("IncludeME(stripslashes('$1'), 0)");
  212. $body_three = preg_replace($match_three, $replace_three, $three);
  213.  
  214. $four = str_replace("]", "]", $body_three);
  215. $match_four = array('##include "(.*?)"#se');
  216. $replace_four = array("IncludeME(stripslashes('$1'), 1)");
  217.  
  218. return preg_replace($match_four, $replace_four, $four);
  219. }
  220.  
  221. //-----------------------------------------------------//-----------------------------------------------------//-----------------------------------------------------
  222.  // główna funkcja od której wszystko się zaczyna
  223.  function BodyCreate($BodySource)
  224.  {
  225. $BodySource = nl2br(WinToISO($BodySource));
  226. echo bbcode($BodySource);
  227.  }
  228.  
  229. //-----------------------------------------------------//-----------------------------------------------------//----------------------------------------------------- 
  230.  
  231. ?>


PS : cos zle wyswietla kod funkcji - gubi znaki '\'