Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Kaikki <fieldset>-tagin välistä pois, preg_replace()

amuse [27.08.2009 14:31:54]

#

Osaisiko joku sanoa miksi tämä ei toimi?

$siivottu = preg_replace('/<fieldset class=\"(.*?)\">(.*?)<\/fieldset>/', "", $html);

Tarkoituksena on poistaa kaikki fieldset-tagin välissä oleva.

Alkuperäinen syöte voisi olla vaikka muotoa: "<fieldset class="quote"><legend class="quote">amuse kirjoitti</legend>Tämä on lainaus joka pitäisi saada pois</fieldset>Tämä taas pitäisi jäädä jäljelle"

Teuro [27.08.2009 14:36:42]

#

Sinun tulee eskapoida myös nuo <, > ja = merkit, jotta tuo edes voisi toimia. Muutoin tuo näyttää olevan ihan oikein. Kannattaa vilkaista myös oppaaseen.

amuse [27.08.2009 15:18:03]

#

Kiitti, vielä jäi kuitenkin sellainen ongelma, että kun preg_replace:ssa piste ei tarkoita rivin vaihtoa, niin tämä ei toimi:

<fieldset class="quote">
<legend class="quote">amuse kirjoitti</legend>
Tämä on lainaus joka pitäisi saada pois
</fieldset>
Tämä taas pitäisi jäädä jäljelle

Mitähän tuolle voisi tehdä?

Metabolix [27.08.2009 15:20:06]

#

Voi lisätä lausekkeen loppuun /:n perään s-kirjaimen, jolloin piste tarkoittaa myös rivinvaihtoa.

amuse [27.08.2009 15:28:38]

#

Suuret kiitokset, nyt toimii!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta