Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.searchEngine.replaceAll
on replaceAll (s, searchFor, replaceWith, flUnicase=false) {
on kernelCall (s, searchFor, replaceWith) {
kernel (string.replaceAll)};
if not flUnicase {
return (kernelCall (s, searchFor, replaceWith))};
local (lowerSearchFor = string.lower (searchFor));
loop { //replace each occurence of searchFor with replaceWith
local (ix);
local (lowerString = string.lower (s));
ix = string.patternMatch (lowerSearchFor, lowerString);
if ix < 1 {
break};
s = string.delete (s, ix, sizeOf (searchFor));
s = string.insert (replaceWith, s, ix)};
return (s)}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.