-
Re: Textformats MySQL
Anbert.NL wrote:
>> >Ik wil graag een enkel php bestand maken die alle tekst die ik daar naar
>> >binnen gooi bewerkt. Denk aan linebreaks, stripslashes en smileys. Nu kan
>> >dit vast met een post dmv een formulier, maar is dit de enige manier. En
> hoe
>> >ga ik te werk als het veld al in een formulier staat??
>
>> Met een beetje creativiteit kom ik tot de conclusie dat je een soort
>> UBB-tags wilt implementeren. Zoek op deze term met Google en je komt
>> vast wel wat bruikbaars tegen. Ik adviseer je wel om de newlines,
>> smiley's en weet ik allemaal niet wat, pas op het laatste moment om te
>> vormen, want dan hoeft het prces niet omkeerbaar te zijn. Zet dus
>> alles wat de gebruiker invoert zonder conversie in de database.
>
> Ik heb de UBB-tags afhandeling in een funtie gezet n.l. :
>
> function ubbreplace( $var )
> {
> $var = preg_replace( "/<\/?[^\\<>|\/]*>/", "", $var );
> $var = preg_replace( "/\[b\](.+)\[\/b\]/", "<b>\\1</b>", $var );
> $var = preg_replace( "/\[u\](.+)\[\/u\]/", "<u>\\1</u>", $var );
> $var = preg_replace( "/\[i\](.+)\[\/i\]/", "<i>\\1</i>", $var );
> $var = preg_replace( "/\[url=(.+)\](.+)\[\/url\]/", "<a
> href=\"\\1\">\\2</a>", $var );
hier \[url=[^"]+)\] van maken, anders heb je een leuke XSS bug.
> $var = preg_replace(
> "/(([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)([\.a-zA-Z0-9_-]+))/", "<a
> href=\"mailto:\\2@\\3\\4\">\\1</a>", $var );
> return $var;
> }
Dit beschrijft lang niet alle mailadressen.
Mark
-
Re: Textformats MySQL
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
bericht news:bou9l3$4gc$2@news.tue.nl...
> Anbert.NL <anbert@flashmail.com> wrote:
> >> Klopt :-) Ik dacht dat ze er niet in stonden, maar ze moeten er juist
> >> w?l in staan. De include(..)-functie-aanroep staat zelf ook in
> >> PHP-code neem ik aan?
> > Ja die staat er in : include "http://www.anbert.nl/aaa/bbb.php";
> Je include dus de _output_ van het php script en niet het php script
> zelf, gebruik dus gewoon de locale file.
Je bedoelt dus dat ik deze functie in elk php bestand waar ik deze functie
wil gebruiken de hele reeks code moet stampen... Ik kan mij eigenlijk niet
voorstellen dat er geen andere manier is, maar misschien vergis ik mij.
-
Re: Textformats MySQL
"Ronald Paul" <usenet@rcpaul.nl> schreef in bericht
news:b065rvoa3afjhv4vrq8a00hjrvq9qo4fnd@4ax.com...
> "Anbert.NL" <anbert@flashmail.com> schreef:
>
> >> Waaraan merk je dat hij de functie niet 'ziet'? Wordt de include(..)
> >> per ongeluk conditioneel (bijvoorbeeld in een if-constructie)
> >> uitgevoerd misschien?
> >Ik krijg de volgende melding in de pagina :
> >Fatal error: Call to undefined function: ubbtexthandler()
> Controleer of de namen van de functies in de aanroep en in de
> definitie exact overeenkomen (ook in hoofdlettergebruik). En vindt de
> include plaats voor de functieaanroep zelf? echo anders eens iets in
> die include, dan weet je zeker dat hij ook daadwerkelijk geïnclude
> wordt.
Check, check alles ok. Heeft Daniel gelijk???
-
Re: Textformats MySQL
"Anbert.NL" <anbert@flashmail.com> schreef:
>Check, check alles ok. Heeft Daniel gelijk???
Ja, maar je interpreteerd zijn oplossing verkeerd. In jou code staat
nu iets als
include "http://www.anbert.nl/aaa/bbb.php";
PHP gaat nu vrolijk http://www.anbert.nl/aaa/bbb.php ophalen en
hetgeen includen wat jij zelf krijgt te zien als je met een reguliere
browser die URL bezoekt. Het probleem zit hem hier in: als er in deze
bbb.php alleen maar functiedefinities staan zal dit niets zijn. En
zelfs als dit wel iets zou zijn, is het onwaarschijnlijk dat dit
PHP-code is.
Wat Daniel bedoeld is dat je in plaats van een HTTP-URL een direct
(relatief of absoluut) pad moet opgeven naar waar het bestand fysiek
op de harde schijf staat.
Stel dat aaa.php deze bbb.php wil includen, dan doe je dus gewoon
include "bbb.php";
als bbb.php in dezelfde directory staat als aaa.php.
--
Groet, Ronald
-
Re: Textformats MySQL
Anbert.NL <anbert@flashmail.com> wrote:
>> > Ja die staat er in : include "http://www.anbert.nl/aaa/bbb.php";
>
>> Je include dus de _output_ van het php script en niet het php script
>> zelf, gebruik dus gewoon de locale file.
>
> Je bedoelt dus dat ik deze functie in elk php bestand waar ik deze functie
> wil gebruiken de hele reeks code moet stampen... Ik kan mij eigenlijk niet
> voorstellen dat er geen andere manier is, maar misschien vergis ik mij.
Ik zie dat Roland al uitgebreider heeft uitgelegt wat ik hierboven in 1
regel beschreef
--
Daniel Tryba