On Nov 24, 2018, at 9:39 AM, Pat Bensky via 4D_Tech <[email protected]> wrote: > > I'm attempting to use the Regex Plugin from Pluggers to replace tags with > different tags. > For example, change this text: > > Some text.<span class='bold'>Set this text in bold please .</span> > > to > > Some text.<@bold:>Set this text in bold please .<@:> > > In other words, there' a starting and ending tag with any kind if text in > between. > > I've tried: > > $Srchstring:="<span class='bold'>[A-Za-z_0-9]</span>" > > $replacestring:="@bold:[A-Za-z_0-9]<@:>" > > $t:=*Preg Replace*($Srchstring;$replacestring;$source)
I didn’t download Rob’s plugin to check the manual, but regex replacing works by using capture groups in the regex that the replace string references. You’ll need to check the plugin manual for specifics, or the example database. Capture groups are usually indicated with parenthesis, and the references are usually \1, \2, etc, based on the order of appearance of capture groups in the pattern. Sometimes they’re referenced with $ instead of \. So it could be something like: $SrchString:="<span class=‘bold’>([^<]*)</span>" $ReplaceString:=“<@bold:>\\1<@:>” I used [^<] because that will match any characters except <, so it’s more concise than listing all the acceptable characters, and also expresses the intent better. If you have nested tags it won’t work, but I’m not sure if nested tags can be handled with a simple regex pattern. The backslash reference in the replace string will probably have to be a double-backslash. Because double backslashes is annoying, Rob might have used a different referencing scheme. You’ll want to check the manual. Jim Crate ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

