[in progress] links in nieuw venster openen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Terence Hersbach

Terence Hersbach

29/05/2010 00:00:35
Quote Anchor link
Links die in topics/berichten geplaatst worden, in een nieuw venster openen. Zo blijft phphulp op de achtergrond open.
Gewijzigd op 14/08/2010 14:01:57 door B a s
 
PHP hulp

PHP hulp

21/11/2024 13:25:27
 
Jelmer -

Jelmer -

29/05/2010 00:06:49
Quote Anchor link
En nu niet weer met het argument van XHTML strict aankomen! Het strict willen hebben van je xml terwijl alle browsers de pagina toch parsen als gewone html mag niet een argument zijn voor het ongebruiksvriendelijk maken. :)

edit: dit is de lange versie van de welbekende +1 post.
Gewijzigd op 29/05/2010 00:30:22 door Jelmer -
 
Jesse Degger

Jesse Degger

29/05/2010 00:14:36
Quote Anchor link
Inderdaad, het is zeer vervelend. Bovendien parsen jullie de site gewoon via een text/html parser en niet via application/xhtml+xml waardoor het pas officieel xHTML word :P.

So, c'mon: get the target blank!
 
Steff   an

Steff an

29/05/2010 00:35:38
Quote Anchor link
'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?
 
Martijn B

Martijn B

31/05/2010 19:54:28
Quote Anchor link
Ja erg handig vooral als je een heel bericht getypt hebt.
Gewijzigd op 31/05/2010 20:53:04 door Martijn B
 
B a s
Beheerder

B a s

03/06/2010 11:11:38
Quote Anchor link
Fixed via JS. Externe links laten nu een icon zien.

Nu wil ik dat internal links niet external zijn. Alleen weet ik niet waarom het volgende niet werkt. Iemand ideeën?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="\2" title="\2" ' . (stristr("phphulp", "\2") ? '' : 'rel="external" class="external"') . '>\2</a>';
?>


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
 

03/06/2010 14:27:13
Quote Anchor link
Bas, kan je niet beter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$blaat
= 'http://phphulp.nl';
$blup = 'http://www.phphulp.nl';
var_dump(substr($blaat,7,18), substr($blup, 11, 22));
/* Levert:
string(10) "phphulp.nl"
string(10) "phphulp.nl"
*/

?>

doen + vergelijking? Of gewoon de regex aanpassen? Want ik neem aan dat dit uit een regex komt...

Edit:
Goede oplossing overigs!
Gewijzigd op 03/06/2010 14:29:54 door
 
Jelmer -

Jelmer -

03/06/2010 16:58:51
Quote Anchor link
Bas Kreleger op 03/06/2010 11:11:38:
Alleen weet ik niet waarom het volgende niet werkt. Iemand ideeën?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="\2" title="\2" ' . (stristr("phphulp", "\2") ? '' : 'rel="external" class="external"') . '>\2</a>';
?>

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 -
 
Steff   an

Steff an

03/06/2010 21:46:07
Quote Anchor link
Jelmer doet aan zelfcensuur? Of hoort er wat anders als 'eval-modifer' te staan?
Gewijzigd op 03/06/2010 21:52:08 door Steff an
 

04/06/2010 14:48:41
Quote Anchor link
echo wordt gewoon een normale link. Klopt dat?
(Natuurlijk kan je ook gewoon het javascript dingetje aanpassen).
 
Joren de Wit

Joren de Wit

17/06/2010 09:15:10
Quote Anchor link
Bumpje, lijkt mij ook dat dat een externe link moet worden :-)
 
Jelmer -

Jelmer -

18/07/2010 00:42:14
Quote Anchor link
En links naar PHPhulp zelf? Bijvoorbeeld wanneer ik de URL van dit topic hier post, wordt dat ook een externe link. Is dat de bedoeling? (persoonlijk vind ik het storend, maar dat komt vooral omdat je een niet-externe link in een nieuw tabblad kan openen door cmd + click te doen. Maar een wel externe link kan je niet onderdrukken, die opent altijd in een nieuw tabblad)

oja, voorbeeldje:
http://www.phphulp.nl/php/forum/topic/in-progress-links-in-nieuw-venster-openen/71162/
 
B a s
Beheerder

B a s

02/08/2010 17:39:29
Quote Anchor link
Via de [url][/url] tags pakt hij interne PHPhulp links nu wel, alleen de automatische nog niet.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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}((\/|~|\#|\?|=|&amp;|&|\+){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}((\/|~|\#|\?|=|&amp;|&|\+){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>',
            )
        );

?>
 
B a s
Beheerder

B a s

14/08/2010 14:01:32
Quote Anchor link
Links in URL tags met phphulp woord erin worden interne links.
Gewijzigd op 14/08/2010 14:01:47 door B a s
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.