Portál AbcLinuxu, 4. května 2025 05:31

Dotaz: Jak v PHP nahradit část html kódu

11.2.2012 13:49 Marek
Jak v PHP nahradit část html kódu
Přečteno: 426×
Odpovědět | Admin
Zdravím všechny programátory a obracím se na Vás s prosbou o pomoc. Mám taký html kód.
<ul class="seznam">
<li><a href="http://foo.ltd/p1/" title="Položka 1">Položka 1</a></li>
<li><a href="http://foo.ltd/p2" title="Položka 2">Položka 2</a></li>
<li><a href="http://foo.ltd/p3" title="Položka 3">Položka 3</a></li>
<li><a href="http://foo.ltd/p4" title="Položka 4">Položka 4</a></li>
<li><a href="http://foo.ltd/p5" title="Položka 5">Položka 5</a></li>
</ul>
A potřeboval bych v tomto html kódu nějak odstranit první dvě položky
<li><a href="http://foo.ltd/p1/" title="Položka 1">Položka 1</a></li>
<li><a href="http://foo.ltd/p2" title="Položka 2">Položka 2</a></li>
a nahradit je položkou
<li><a href="http://foo.ltd/all/" title="Položka All">Položka All</a></li>
aby konečný vysledek byl
<ul class="seznam">
<li><a href="http://foo.ltd/all/" title="Položka All">Položka All</a></li>
<li><a href="http://foo.ltd/p3" title="Položka 3">Položka 3</a></li>
<li><a href="http://foo.ltd/p4" title="Položka 4">Položka 4</a></li>
<li><a href="http://foo.ltd/p5" title="Položka 5">Položka 5</a></li>
</ul>
Poradí prosím nějaký zkušený programátor? Předem moc děkuji za pomoc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2012 17:24 Ben Joyce
Rozbalit Rozbalit vše Re: Jak v PHP nahradit část html kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobry den, pokud vite konkretni string, ktery chcete nahradit, muzete zkusit napriklad neco jako toto:

$nahradit_v = "<ul class=\"seznam\">
<li><a href=\"http://foo.ltd/p1/\" title=\"Položka 1\">Položka 1</a></li>
<li><a href=\"http://foo.ltd/p2\" title=\"Položka 2\">Položka 2</a></li>
<li><a href=\"http://foo.ltd/p3\" title=\"Položka 3\">Položka 3</a></li>
<li><a href=\"http://foo.ltd/p4\" title=\"Položka 4\">Položka 4</a></li>
<li><a href=\"http://foo.ltd/p5\" title=\"Položka 5\">Položka 5</a></li> </ul>";

$nahradit_co = "<li><a href=\"http://foo.ltd/p1/\" title=\"Položka 1\">Položka 1</a></li>
<li><a href=\"http://foo.ltd/p2\" title=\"Položka 2\">Položka 2</a></li>";

$nahradit_za_co = "<li><a href=\"http://foo.ltd/all/\" title=\"Položka All\">Položka All</a></li>";

str_replace($nahradit_co, $nahradit_za_co, $nahradit_v);


V pripade, kdy konkretni polozky nebo adresy odkazu neznate, pak muzete zkusit regularni vyrazy a s nimi funkci preg_replace.

V dokumentaci nebo na internetu naleznete zpusob jak zachazet s regularnimi vyrazy.
Josef Kufner avatar 11.2.2012 23:11 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak v PHP nahradit část html kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pomocí tidy to převe na XML, pokud to už validní XML není.

Pak vem libovolný nástroj pro práci s XML a proveď požadované transformace.

Zpětný převod do HTML řešit nemusíš, prohlížeče si s tím poradí.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.