Autor Zpráva
ghulas
Profil
Prosím, mohli byste mi vysvětlit, co je to za chybu? Google nic nedává...
Měním '[url=' na '<a href="' ... jak se mění jedny závorky za druhý?
SwimX
Profil
ghulas
hod sem ten řádek z php s ereg_replace
SwimX
Profil
měl by vypadat asi takle:
$zprava = preg_replace("#\[url=(.+)\](.+)\[/url\]#is", "<a href=\"$1\" target=\"_blank\">$2</a>", $zprava);
ghulas
Profil
$hledano='[url=';
$nahrad='<a href="';
$zprava=ereg_replace ( $hledano , $nahrad , $zprava );

$hledano='/]';
$nahrad='" target="_blanc">';
$zprava=ereg_replace ( $hledano , $nahrad , $zprava );
SwimX
Profil
ghulas
použij to moje, v tom tvym, když někdo udělá [url=http://example.com]Odkaz (nenapíše konec) budeš mít z celé stránky odkaz
eště by šlo přes regulární výraz testovat zda za url=je opravdu platný odkaz
SwimX
Profil
A chyba bude zde
$hledano='\[url=';
$nahrad='<a href="'; 
$zprava=ereg_replace ( $hledano , $nahrad , $zprava ); 

$hledano='/\]'; 
$nahrad='" target="_blanc">'; // a tady asi spis chces blank
$zprava=ereg_replace ( $hledano , $nahrad , $zprava );

musíš escapovat hranaté závorky, protože v regulárních výrazech mají svoji funkci - [] zastupuje jeden znak ze seznamu v závorkách
ghulas
Profil
dík
Měsíček
Profil
Používat funkci ereg_replace u této příležitosti a ještě k tomu tímto způsobem je při nejmenším prasárna.
SwimX
Profil
ghulas
eště by se hodilo testovat zda url=opravdu odkaz
nějak takle:
if (eregi("^.*\[url=((http|https|ftp)://([a-z0-9\.]+)\.([a-z0-9\.]+)((/|\?).*)*)\].*$", $zprava))
  $zprava = preg_replace("#\[url=(.+)\](.+)\[/url\]#is", "<a href=\"$1\" target=\"_blank\">$2</a>", $zprava);
if (eregi("^.*\[url=(www\.([a-z0-9\.]+)\.([a-z0-9\.]+)((/|\?).*)*)\].*$", $zprava))
  $zprava = preg_replace("#\[url=(.+)\](.+)\[/url\]#is", "<a href=\"http://$1\" target=\"_blank\">$2</a>", $zprava);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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