Autor | Zpráva | ||
---|---|---|---|
ghulas Profil |
#1 · Zasláno: 14. 1. 2009, 16:33:49 · Upravil/a: ghulas
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 |
#2 · Zasláno: 14. 1. 2009, 16:44:23
ghulas
hod sem ten řádek z php s ereg_replace |
||
SwimX Profil |
#3 · Zasláno: 14. 1. 2009, 16:45:03
měl by vypadat asi takle:
$zprava = preg_replace("#\[url=(.+)\](.+)\[/url\]#is", "<a href=\"$1\" target=\"_blank\">$2</a>", $zprava); |
||
ghulas Profil |
#4 · Zasláno: 14. 1. 2009, 16:54:08
$hledano='[url=';
$nahrad='<a href="'; $zprava=ereg_replace ( $hledano , $nahrad , $zprava ); $hledano='/]'; $nahrad='" target="_blanc">'; $zprava=ereg_replace ( $hledano , $nahrad , $zprava ); |
||
SwimX Profil |
#5 · Zasláno: 14. 1. 2009, 16:56:21
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 |
#6 · Zasláno: 14. 1. 2009, 16:59:23 · Upravil/a: SwimX
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 |
#7 · Zasláno: 14. 1. 2009, 17:08:40
dík
|
||
Měsíček Profil |
#8 · Zasláno: 14. 1. 2009, 17:18:23
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 |
#9 · Zasláno: 14. 1. 2009, 17:45:33
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); |
||
Časová prodleva: 15 let
|
0