[Jscript // PHP // DHTML // *SS] link target

Pagina: 1
Acties:
  • 206 views sinds 30-01-2008
  • Reageer

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
Keej...
Ben net bezig met een woeste CSS voor een website, nu wil ik dat alle links die in een bepaalde <td> staan automagisch een "target = "_blank" " mee krijgen...
dit had ik op Webdesign & Graphics gepost... maar daar kreeg ik te horen dat het welleens via scripting zou moeten...

Vandaar dus ook die rare titel (mijn excuses daarvoor) Ik heb het volgende:
ik heb hoopjes html in een db...nu wil ik binnen alle html alle links autmagisch naar een target="_blank" sturen als ik de data ophaal...

Iemand id-en!?!

Gekkie is a proud member of TheBenny!


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
met een reguliere expressie alle <a href="(blaat)"> vervangen door <a href="(blaat)" target="_blank">. zie http://php.nederland.net/manual/en/function.preg-replace.php

Verwijderd

streplace() misschien? (als je je imgtags met PHP uit een database haalt iig.)

$ahreftag = query("select bla bla bla")

//plaats hier wat je uit de datbase haalt en dan de laatste > vervangen door target=_blank"> met

strreplace($ahreftag, '>', ' target="_blank"'>

wel met de spatie voor target voor het geval er voor de > geen spatie stond

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
hmmmz... zz ook een optie...

wat ik nu heb (via de PHP manual) is dit:
PHP:
1
2
3
4
5
6
<?
$link = 
preg_replace("/\b(((http(s?)|ftp(s?)):\/\/)|(www\.))([\w\.]+)([\/\w+\.]+)\b/i",
"<a href=\"http$3://$4$5$6\"target=\"_blank\">$2$4$5$6</a>",
$link);
?>

Hetgeen toch problemen geeft... :S

Ik heb in mn string (lap html-tekst) een zooitje <a HREF-jes staan... deze moeten dus <a HREF= blijven maar de (http|https|ftp):\\adres> moet worden (http|https|ftp):\\adres target="_blank">

Dat is dus het enige... ik wil overal een target="_blank" toevoegen in de <a> links...

Gekkie is a proud member of TheBenny!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Gebruik XHTML en transformeer de links met XSLT. Je hoeft alleen maar te checken op a attributen die kinderen zijn van een td. Waarschijnlijk ongeveer 5 regels :O .

Uitermate simpel op te lossen probleem als je gebruik maakt van de goede tools :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
hmmmzzz... goede tools?!
:z
Ga wel weer ff zoeken

Gekkie is a proud member of TheBenny!


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
code:
1
$text = preg_replace("/<a href=(.+)>/i", "<a href=\\1 target=\"_blank\"", $text);

simpel toch? :?

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
toch niet... :)
dit:
PHP:
1
2
3
4
5
6
7
<?
$text = "<a href=\"http://www.sims.nl\">sims.nl</a>";
echo($text);

$html = preg_replace("/<a href=(.+)>/i", "<a href=\\1 target=\"_blank\"", $text);
echo("<br>Nieuwe: ".$html);
?>

geeft:
code:
1
2
3
<a href="http://www.sims.nl">sims.nl</a>
<br>
Nieuwe: <a href="http://www.sims.nl">sims.nl</a target="_blank"

Wat dus niet goed is...? die hele </a wordt niet gesloten en de target="_blank" staat buiten de <a> ?? :?

Gekkie is a proud member of TheBenny!


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
ohja, ungreedy:
code:
1
2
$text = preg_replace("/<a href=(.+)>/iU", "<a href=\\1 target=\"_blank\"", $text);
                          ^

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
PHP:
1
2
3
<?
$tekst = preg_replace("/<a href=(.+)>/iU", "<a href=$1 target=\"_blank\">",$tekst);
?>

Whooohooooooo hij doet het!! na lang prutsen, is het eindelijk gelukt om het aan het werk te krijgen!!

Dank aan allen!!!

Gekkie is a proud member of TheBenny!

Pagina: 1