Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Preg_replace nurinpäin...

pistemies [08.06.2004 09:45:25]

#

Tallennan joitakin hommia, esim. url-osoitteen ym. tiedostoon käyttämällä [code], [url] ym. vastaavia tageja.

Kysyisin nyt semmoista, miten saan avautumaan nuo muokkaa_viestiä textareaan niin, että url osoite tulee sellaisena kuin se on tallennettu, esim.

[url]www.mattimeikalainen.com[/url]

ilman tiedostossa olevia <a>-tageja??

ajv [08.06.2004 10:28:22]

#

Mikset tallentaisi hommeleita raakileina tiedostoon ja muotoilisi tekstin vasta tulostettaessa? Eiköhän tämä ole yleisin käytäntö.

pistemies [08.06.2004 12:46:25]

#

Koska muokatessa ei sitten voi käyttäää htmlspecialchars-toimintoa. Se sotkisi kaikki linkit ja muut muotoilut. Olen jo hiukan miettinyt, testannut en ole ehtinyt vielä mitään:

<?php
$teksti=str_replace("<a","[url]<a",$teksti);
$teksti=str_replace("</a>","</a>[/url]",$teksti);
$teksti = preg_replace("/(\[url\])([\w\W]+)(\[\/url\])/i", "[url]".strip_tags($2)."[/url]",$teksti);
?>

Edit: Sen verran ehdin testaamaan, että ei toimi. Preg_replace ei tunnu hyväksyvän tuota strip_tags-funktiota.

leftover [08.06.2004 17:59:56]

#

Itse käytän omassa koodigeneraattorissani seuraavia rivejä:

<?php

      // [url=jotain1]jotain2[/url] = <a href="jotain1">jotain2</a>
      $teksti = preg_replace("(\[url\=(.*)\](.+?)\[/url\])", '<a href="$1">$2</a>', $teksti);

      // <a href="jotain1">jotain2</a> = [url=jotain1]jotain2[/url]
      $teksti = preg_replace("(\<a href\=\"(.*)\"\>(.+?)\</a\>)", '[url=$1]$2[/url]', $teksti);

?>

pistemies [08.06.2004 19:51:09]

#

Kiitoksia!

Huomasin nyt vasta jälikäteen:
Taloushommia tehdessäni mietin vähäsen ja tajusin nyt vasta, mitä ajv tarkoitti: Kaikki nuo muotoilutagit tallennetaan suoraan txt-tiedostoon (mikäli ei käytetä mysqliä).
Parempi myöhään....

Vastaus

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

Tietoa sivustosta