[in progress] links in nieuw venster openen
Gewijzigd op 14/08/2010 14:01:57 door B a s
edit: dit is de lange versie van de welbekende +1 post.
Gewijzigd op 29/05/2010 00:30:22 door Jelmer -
So, c'mon: get the target blank!
't Is ook een slecht argument als je kijkt naar de rest van de website. Is er ook maar een pagina op deze hele website te vinden die "valid" is?
Gewijzigd op 31/05/2010 20:53:04 door Martijn B
Nu wil ik dat internal links niet external zijn. Alleen weet ik niet waarom het volgende niet werkt. Iemand ideeën?
Code (php)
Het zit normaal gesproken in een array, niet in een echo, maar even ter highlighting..
Gewijzigd op 03/06/2010 11:27:08 door B a s
Code (php)
doen + vergelijking? Of gewoon de regex aanpassen? Want ik neem aan dat dit uit een regex komt...
Edit:
Goede oplossing overigs!
Bas Kreleger op 03/06/2010 11:11:38:
Komt dat niet omdat je nu de replace-string verwart met actieve PHP code? Ik ben bang dat je niet gemakkelijk een if-statement in het tweede deel van preg_replace kan maken, behalve met preg_replace_callback of met de #cencuur#-modifier. (Ooh, kijk, het geweldige internetfilter van nederland censureert nu al alle gevaarlijke dingen! Geweldig niet? Nu kom ik nooit meer op het idee om de e-modifier te gaan gebruiken. Niemand maakt meer onveilige websites. Jeej!)
Of je maakt twee regels in je UBB parser die links parsen. Eentje voor intern (die phphulp.nl in de url matchen) en eentje voor extern, die de rest matcht en daarbij rel & class toevoegt.
Gewijzigd op 03/06/2010 16:59:47 door Jelmer -
Gewijzigd op 03/06/2010 21:52:08 door Steff an
echo wordt gewoon een normale link. Klopt dat?
(Natuurlijk kan je ook gewoon het javascript dingetje aanpassen).
(Natuurlijk kan je ook gewoon het javascript dingetje aanpassen).
Bumpje, lijkt mij ook dat dat een externe link moet worden :-)
oja, voorbeeldje:
http://www.phphulp.nl/php/forum/topic/in-progress-links-in-nieuw-venster-openen/71162/
Ik moet even een regex bedenken wat auto URL adressen met de domeinnaam phphulp.nl herkent. Iemand suggesties? Ik ben niet zo'n hele sterke in regex helaas.
Wat ik nu heb voor automatische URL herkenning:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
array (
'find' => array (
// emails
'~(\s|^)([-a-z_][-a-z0-9._]*@[-a-z0-9_]+(?:\.[-a-z0-9_]+)+)\b~si',
// links with http, https, ftp or even irc
'#(^|[ \n\r\t])([a-z0-9]{1,6}://([a-z0-9\-]{1,}(\.?)){1,}[a-z]{2,5}(:[0-9]{2,5}){0,1}((\/|~|\#|\?|=|&|&|\+){1}[a-z0-9\-._%]{0,}){0,})#si',
// links with www.
'#(^|[ \n\r\t])((www\.){1}([a-z0-9\-]{1,}(\.?)){1,}[a-z]{2,5}(:[0-9]{2,5}){0,1}((\/|~|\#|\?|=|&|&|\+){1}[a-z0-9\-._%]{0,}){0,})#si'
),
'replace' => array (
'\1<a href="mailto:\2">\2</a>',
'\1<a href="\2" title="\2" rel="external" class="external">\2</a>',
'\1<a href="http://\2" title="\2" rel="external" class="external">\2</a>',
)
);
?>
array (
'find' => array (
// emails
'~(\s|^)([-a-z_][-a-z0-9._]*@[-a-z0-9_]+(?:\.[-a-z0-9_]+)+)\b~si',
// links with http, https, ftp or even irc
'#(^|[ \n\r\t])([a-z0-9]{1,6}://([a-z0-9\-]{1,}(\.?)){1,}[a-z]{2,5}(:[0-9]{2,5}){0,1}((\/|~|\#|\?|=|&|&|\+){1}[a-z0-9\-._%]{0,}){0,})#si',
// links with www.
'#(^|[ \n\r\t])((www\.){1}([a-z0-9\-]{1,}(\.?)){1,}[a-z]{2,5}(:[0-9]{2,5}){0,1}((\/|~|\#|\?|=|&|&|\+){1}[a-z0-9\-._%]{0,}){0,})#si'
),
'replace' => array (
'\1<a href="mailto:\2">\2</a>',
'\1<a href="\2" title="\2" rel="external" class="external">\2</a>',
'\1<a href="http://\2" title="\2" rel="external" class="external">\2</a>',
)
);
?>
Gewijzigd op 14/08/2010 14:01:47 door B a s