Autor | Zpráva | ||
---|---|---|---|
Faraonek Profil * |
#1 · Zasláno: 10. 7. 2013, 15:15:24
Zdarvím,
nevím si rady s jednou věcí. V proměné mám uložený text, ve kterém jsou odkazy. Například toto: Toto je <a href="cesta">link</a>. |
||
Joker Profil |
Faraonek:
Která z následujících variant je správná? 1. Má se odstranit jen ten konkrétní odkaz (doplnění: Případně další stejné odkazy), ničeho jiného si nevšímat. 2. Mají se odstranit všechny odkazy (tj. značky <a>), jiné HTML značky (jako třeba <strong>, <p> a další) v textu být mohou. 3. V textu nemají být žádné HTML značky, všechny se mají odstranit. |
||
Faraonek Profil * |
#3 · Zasláno: 10. 7. 2013, 15:20:51
2.
|
||
Joker Profil |
#4 · Zasláno: 10. 7. 2013, 15:31:13
Faraonek:
Tak nejdůkladnější řešení by bylo použít HTML parser, ale pro běžné odkazy by fungovalo i nahrazení regulárního výrazu <(/?)a([^>]*)> prázdným řetězcem (viz preg_replace)
Ale je možné sestavit odkaz, na kterém to selže. |
||
Jan Tvrdík Profil |
Takhle by to bylo s použitím DOM knihovny:
$doc = new DOMDocument(); $doc->loadHtml($html); foreach ($doc->getElementsByTagName('a') as $link) { $parent = $link->parentNode; while ($child = $link->firstChild) $parent->insertBefore($child, $link); $parent->removeChild($link); } $html = $doc->saveHtml(); |
||
Časová prodleva: 11 let
|
0