Autor | Zpráva | ||
---|---|---|---|
Dědeček Profil |
#1 · Zasláno: 7. 1. 2012, 20:39:43
Dobrý den,
Nevím si už rady. Mám v textu odkaz například <a href="http://example.com">Test</a> Potřebuji aby se tento odkaz přepsal na <a href="#" onClick='top.location.href="http://example.com"'>Test</a> jenomže co když náhodou uživatel zapisující odkaz ještě do odkazu přidá, třeba title. Našel jsem na internetu tuto funkci, jenomže ať zkouším jak zkouším pořád se nemůžu dopracovat k správnému výsledku. Děkuji za jakoukoliv pomoc. Ještě bych se zeptal jestli je někde nějaké obecné info k "[^>]+" vůbec nevím co to znamená a google nic neřekne a rád bych se to naučil. Děkuji <?php function target_links( $html ) { $pattern = "/<(a)([^>]+)>/i"; $replacement = "<\\1 target=\"_blank\"\\2>"; $new_str = preg_replace($pattern,$replacement,str_replace('target="_blank"','',$html)); return $new_str; } ?> |
||
Tori Profil |
#2 · Zasláno: 7. 1. 2012, 21:35:38 · Upravil/a: Tori
$html = '<a href="http://example.com">Test</a> <a href=\'url-v-apostrofech.html\'>test2</a>'; $html = preg_replace('~href=(["\'])([^"]+)\\1~iU', 'href="#" onclick="top.location.href=\'\\2\';"', $html); // ↓ doplněno K druhému dotazu: hledejte "regulární výrazy" (zkuste např. http://www.regularnivyrazy.info/ , funkce preg_replace se týká část o "Perl-compatible" regulárních výrazech. |
||
Dědeček Profil |
#3 · Zasláno: 7. 1. 2012, 21:54:09
Vyzkouším. Jen tak od oka jak se na to dívám nebude výstup pouze <a onclick='top.location.href="http://example.com"'>Test</a> ? Není tam potřeba href="#"
|
||
Časová prodleva: 12 let
|
0