[asp] terugzetten BB code bij wijzigen post

Pagina: 1
Acties:

  • Lost-Viking
  • Registratie: Oktober 2000
  • Laatst online: 27-08 22:41

Lost-Viking

Log off, Live Life

Topicstarter
Oke, kben bezig met het poken van mijn eigen forum, en als ik een gemaakt item wil wijzigen, moet hij bijvoorbeeld de smiley img code terugzetten in : ) . Dat lukt allemaal. Maar het volgende prob is dit :


Ik maak een topic met daarin
code:
1
[a]http://www.lost-viking.com[/a]



daar maakt hij van na het posten
code:
1
<a target='_blank' href='http://www.lostviking.com/'>[url]http://www.lost-viking.com[/url]</a>

Als ik nu mijn topic wil wijzigen, kom ik door middel van deze code
code:
1
2
3
4
5
    str = replace(str, "<A  Target=_Blank", "[a]", 1, -1, 1)
    str = replace(str, " href='http://", " ", 1, -1, 1)
    str = replace(str, "'>", "", 1, -1, 1)
    str = replace(str, "</a>", "[/a]",1,-1,1)
    str = replace(str, "[a] ", "[a]",1,-1,1)

tot dit resultaat
code:
1
[a]http://www.lost-viking.comhttp://www.lost-viking.com[/a]

Mijn problemo is dus : Mijn link komt er dubbel in, en ik kom er niet meer uit hoe ik dit eruit ga filteren ! Iemand suggesties ?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Dan moet je het met een regex doen.

Wat ook veel gedaan wordt is het dubbel opslaan van posts, 1x geparsed en 1x ongeparsed.

Who is John Galt?


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 03 juli 2002 12:56 schreef justmental het volgende:
Wat ook veel gedaan wordt is het dubbel opslaan van posts, 1x geparsed en 1x ongeparsed.
hmmz deze discussie hebben wij als eens gevoerd geloof ik ;)
ik vin dit wel een goed id nl.

Doet iets met Cloud (MS/IBM)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Het lijkt me veel makkelijker om de post ongewijzigd te onthouden. Je kunt 2 versies in de DB opslaan (1 met ubb en 1 verwertke) of het UBB parsen bij het afdrukken van de thread doen.

Daarnaast lijkt het me makkelijker om te werken met reguliere expressies. Op dit moment controleer je waarschijnlijk niet of elke open tag wel een bijbehorende sluiten tag heeft.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op woensdag 03 juli 2002 12:57 schreef D2k het volgende:

[..]

hmmz deze discussie hebben wij als eens gevoerd geloof ik ;)
ik vin dit wel een goed id nl.
Ik doe het zelf ook zo :)

Who is John Galt?


  • Lost-Viking
  • Registratie: Oktober 2000
  • Laatst online: 27-08 22:41

Lost-Viking

Log off, Live Life

Topicstarter
jongens... leuk dat jullie allemaal andere alternatieven bedenken, maar dat was niet mijn vraagstelling. Mijn vraag was hoe je die code tussen de [a] en [/a] kon aanpassen zodat deze niet dubbel getoond worden.. zoeken op 4guysfromrolla met regex heeft 1 weinig boeiend resultaat.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op woensdag 03 juli 2002 13:06 schreef Lost-Viking het volgende:
jongens... leuk dat jullie allemaal andere alternatieven bedenken, maar dat was niet mijn vraagstelling. Mijn vraag was hoe je die code tussen de [a] en [/a] kon aanpassen zodat deze niet dubbel getoond worden.. zoeken op 4guysfromrolla met regex heeft 1 weinig boeiend resultaat.
Over regexen is met de search meer te vinden dan je in een dag kunt lezen ;)

Who is John Galt?


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Via regex eerst al die matches vinden en vervolgens deze stuk voor stuk aanpassen. Maar in plaats van op deze voet doorgaan zou je beter gelijk iets goeds kunnen bouwen. Dit is natuurlijk een beetje aanprutsen.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op woensdag 03 juli 2002 13:06 schreef Lost-Viking het volgende:
jongens... leuk dat jullie allemaal andere alternatieven bedenken, maar dat was niet mijn vraagstelling. Mijn vraag was hoe je die code tussen de [a] en [/a] kon aanpassen zodat deze niet dubbel getoond worden.. zoeken op 4guysfromrolla met regex heeft 1 weinig boeiend resultaat.
Jij hebt een probleem en wilt een oplossing.

Vaak ligt de beste oplossing ergens anders dan waar je denkt. Niet teveel 'met oogkleppen op' programmeren zou ik zo zeggen :)..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Als je op 4guysfromrolla maar 1 niet boeiend document kan vinden dan kan je niet zoeken. Ze hebben een uitgebreide tutorial over RegExp voor noobs met daarin links naar weer andere artikels.

Maar goed dit is um dus(niet getest):
code:
1
2
3
4
5
6
7
Dim objRE
Set objRE = New RegExp
objRE.IgnoreCase = False
objRE.Global = True
objRE.Pattern = "<a((\n|.)+?)>\\[url\]((\n|.)+?)\\[/url\]</a>"
String = objRE.Replace( String, "[a]$2[/a]"
Set objRE = Nothing

Dit werkt alleen met WindowsScript Engine 5.6 of hoger.
Pagina: 1