[asp]regexp verschillende volgorde combo's in regexp?

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:55
Hoi,

Ben nu al een poosje aan het zoeken naar een oplossing voor het volgende probleem:

Ik heb een online teksteditor die de volgende html 'kan' uitpoepen:
code:
1
<STRONG><EM><U>een Bold, Italic en Underlined txt</U></EM></STRONG>

Nu is het mogelijk om hier dus verschillende varianten op te maken dus:
<EM><STRONG>...</STRONG></EM>
<U><STRONG>...</STRONG></U>

maar ook dus:
<EM><U><STRONG>...</STRONG></U></EM>
(deze is dus hetzelfde als het eerst gegeven voorbeeld.)

Dit zou dus vervangen moeten worden naar: //BIU (of soortgelijke varianten zoals //BI, //BU etc. etc.)

Zoals gezegd ben ik dus al wezen zoeken en ik heb het idee dat een regexp hiervoor het beste is. Ik weet het alleen niet zeker. Ik heb namelijk aardig wat examples hier gevonden, maar het lijkt mij dat die alleen matchen op 1 soortgelijk iets. Bijvoorbeeld alleen alleen voor de mailto en http(s) + ftp links die ingevoerd zijn in een form field.

Concrete vraag: Is mijn bovenstaand probleem met een Regexp op te lossen en zo ja, waar kan ik meer info hierover vinden. (Ik vond de MSDN helaas hier wat te onduidelijk in)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Je probleem is imho idd het beste met reg. exp. op te lossen, al zijn er denk ik ook wel andere methoden te bedenken, desondanks zou ik toch voor reg. exp. gaan.

Zie ook:http://msdn.microsoft.com.../html/scripting051099.asp
offtopic:
Deveraux moet zijn kennis mbt reg. exp. ook maar weer eens gaan opfrissen/uitbreiden. ;)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:55
ah, die link had ik nog niet gevonden. Daar staat gelukkig wat meer uitleg mbt de verschillende search patterns.

Kga wel ff rommelen. :) In de tussentijd heb ik het grotendeels opgelost met de Replace functie en niet met een regexp.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

De functie replace is idd ook een van de mogelijkheden, echter niet waterdicht lijkt me. aangezien je hiermee geen patroon kan herkennen kan je bijvoorbeeld ook een reeks zoals deze hebben:
<STRONG><U>...</STRONG></U>
Nu zal dit opzich geen probleem opleveren maar netjes is het niet.

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

ik weet niet of die //IBU nou voor of achter de string moet komen, maar in PCRE had ik ongeveer het volgende:
PHP:
1
2
3
4
5
6
$content = '<strong><ul><i>The quick Brown fox</i></ul></strong>';
$content = preg_replace('/<i>(.*)<\/i>((<\/.+>)*?)(\/\/([a-z])+)??/Uis', '$1$2//I$5', $content);
$content = preg_replace('/<strong>(.*)<\/strong>((<\/.+>)*?)(\/\/([a-z])+)??/Uis', '$1$2//B$5', $content);
$content = preg_replace('/<ul>(.*)<\/ul>((<\/.+>)*?)(\/\/([a-z])+)??/Uis', '$1$2//U$5', $content);

echo $content;

Intentionally left blank