Sample No: 159

See ezy_replace_text.pro

The following program applies conditional search/replace rules by use of one functional call.

prolog_main():-

EDM_HREF = "Copyright © 1997-2003 EDMGROUP (Australia)\n" ,

IMAGE_REF = "[IMAGE REFERENCE] " ,

SEARCH_LIST =[ "ANOTHER TEXT TO REPLACE" , "TEXT TO REPLACE" ],

REPLACE_RULES =[

replace_any([ "ANY_TEXT" ], "ANY TEXT REPLACED" , continue ,[

find_string( "START_OF_TEXT" , continue ,[

replace_string( "NO_IMAGE_REFERENCE" , IMAGE_REF , continue ,[

replace_any( SEARCH_LIST , " EZY Prolog " , continue ,[

insert_string_before( "END_OF_TEXT" , EDM_HREF , stop ,[])

])

])

])

])

],

TEXT_LINES =[

"line with ANY_TEXT - should be replaced" ,

"line with ANY_TEXT - should be replaced" ,

"Next line - body tag - insert tag" ,

"START_OF_TEXT" ,

"NO_IMAGE_REFERENCE Note - image tag inserted" ,

"this is message inside body tags. [ANY_TEXT]- text in brackets - replaced text",

"HREF tag to be inserted before end of the body" ,

"END_OF_TEXT" ],

slist_to_string ( TEXT_LINES , "\n" , DATA ),

write ( "INPUT TEXT=\n" , DATA , "\n______________\n" ),

ezy_replace_string ( DATA , REPLACE_RULES , RESULT ),

write ( "RESULT=\n" , RESULT ).

 

Copyright © 1997-2003 EDMGROUP (Australia)