Mr. Black
%Europe/Berlin %724 %2007, 17:22
Ha guys,
Probleempje met een pattern. Ik heb een pattern geschreven die de html-linktag (? :D) zoekt:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
Zoekt gewoon naar iets als <a href='b'>b</a> in een String. Waarom? Stel ik wil de link bijvoorbeeld een leuk kleurtje geven, dan kan ik dat zo toepassen:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
var string:String = "Click <a href='http://www.google.com'>here</a> for more information.";
trace( string.replace( pattern, "<font color='#0000FF'>$1</font>" ) );
Tot zover alles goed. Maar als er nu in één String meerdere a-tags staan, krijg ik een probleem:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
var string:String = "Click <a href='http://www.google.com'>here</a> for more information, or <a href='http://www.wikipedia.org'>here</a> for even more information!";
trace( string.replace( pattern, "<font color='#0000FF'>$1</font>" ) );
Het hele stuk tussen de eerste "here" en de tweede "here" wordt nu namelijk blauw. En dat is niet de bedoeling. Flex zoekt dus de breedst mogelijke match (anders had hij de eerste </a> wel gezien, toch...)? Hoe los ik dit op? Ik heb al geprobeerd mijn pattern beter te specificeren, maar dat is niet gelukt.
Andere ideeën? :)
Probleempje met een pattern. Ik heb een pattern geschreven die de html-linktag (? :D) zoekt:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
Zoekt gewoon naar iets als <a href='b'>b</a> in een String. Waarom? Stel ik wil de link bijvoorbeeld een leuk kleurtje geven, dan kan ik dat zo toepassen:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
var string:String = "Click <a href='http://www.google.com'>here</a> for more information.";
trace( string.replace( pattern, "<font color='#0000FF'>$1</font>" ) );
Tot zover alles goed. Maar als er nu in één String meerdere a-tags staan, krijg ik een probleem:
var pattern:RegExp = / ( (<a\ href=') (.+) ('>) (.+) (<\/a>) ) /gx;
var string:String = "Click <a href='http://www.google.com'>here</a> for more information, or <a href='http://www.wikipedia.org'>here</a> for even more information!";
trace( string.replace( pattern, "<font color='#0000FF'>$1</font>" ) );
Het hele stuk tussen de eerste "here" en de tweede "here" wordt nu namelijk blauw. En dat is niet de bedoeling. Flex zoekt dus de breedst mogelijke match (anders had hij de eerste </a> wel gezien, toch...)? Hoe los ik dit op? Ik heb al geprobeerd mijn pattern beter te specificeren, maar dat is niet gelukt.
Andere ideeën? :)