Autor Zpráva
Kalixt23
Profil
Zdravím,

v zázname chyb mám tento výpis chyb

bbcodes/mail_bbcode_include.php
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead Řádek: 20
bbcodes/mail_bbcode_include.php
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead Řádek: 21



20 $text = preg_replace('#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#sie', "hide_email('\\2').''", $text);
21 $text = preg_replace('#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#sie', "hide_email('\\2').''", $text);

bbcodes/url_bbcode_include.php
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead Řádek: 21
bbcodes/url_bbcode_include.php
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead Řádek: 22


21 $text = preg_replace('#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'\\2\\3\'
target=\'_blank\' title=\'\\2\\3\'>'.trimlink('\\2\\3', 20).(strlen('\\2\\3')>30?substr('\\2\\3', strlen('\\2\\3')-10,
strlen('\\2\\3')):'').'</a>'", $text);
22 $text = preg_replace('#\[url\]([\r\n]*)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'http://\\2\' target=\'_blank\'
title=\'\\2\'>'.trimlink('\\2', 20).(strlen('\\2')>30?substr('\\2', strlen('\\2')-10, strlen('\\2')):'').'</a>'", $text); 


vedeli by ste mi poradit akoby som sa zbavil tých chýb?
Taps
Profil
Kalixt23:
zkus jen tento zápis

20 $text = preg_replace('#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#si', "hide_email('\\2').''", $text);
21 $text = preg_replace('#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#si', "hide_email('\\2').''", $text);
juriad
Profil
Použij funkci preg_replace_callback a jako druhý argument jí předej funkci (nejlépe asi anonymní).
Mimochodem, jsem si jistý, že by stačily jen 2 příkazy místo čtyřech. Všimni si, že teď máš k dispozici funkci, ve které můžeš provádět docela dost věcí (já jsem ti tam třeba definoval dvě lokální proměnné).

První:
$text = preg_replace_callback(
  '#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#si', 
  function($matches) {
    return hide_email($matches[2]);
  }, 
  $text
);

Druhý:
$text  = preg_replace_callback(
  '#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#si', 
  function($matches) {
    return hide_email($matches[2]);
  }, 
  $text
);

Třetí:
$text = preg_replace_callback(
  '#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)([\r\n]*)\[/url\]#si',
  function($matches) {
    $u = $matches[2] . $matches[3]; # URL
    $t = trimlink($u, 20) . (strlen($u) > 30 ? substr($u, strlen($u) - 10, strlen($u)) : ''); # TEXT
    return "<a href='$u' target='_blank' title='$u'>$t</a>";
  },
  $text
);

Čtvrtý:
$text = preg_replace_callback(
  '#\[url\]([\r\n]*)([^\s\'\"]*?)([\r\n]*)\[/url\]#si',
  function($matches) {
    $u = $matches[2]; # URL
    $t = trimlink($u, 20) . (strlen($u) > 30 ? substr($u, strlen($u) - 10, strlen($u)) : ''); # TEXT
    return "<a href='http://$u' target='_blank' title='$u'>$t</a>";
  },
  $text
);
Kalixt23
Profil
Tak prvé dva pomohli..

tie druhé dva nie pretože po pridaní a nahradení tých druhých dvoch zápisov mi na hlavnej stránke zmizlo všetko zobrazilo sa mi iba pozadie, background a vrchný panel..
juriad
Profil
Kalixt23:
U toho třetího jsem měl syntaktickou chybu - komentář nezačínal # ale $. To jsem opravil. Jinou chybu tam nevidím. Můžeš to zkusit zjednodušit, a tak zjistit v které části je chyba.
Nefungoval 3. i 4., nebo jen jeden z nich?
Kalixt23
Profil
Ahaaaaa a ja som si to vobec nevšimol :D okay tak to ide tak jak má všetko v pohode diky moc :D

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: