<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Guys,<br>
<br>
Thanks for you help on this one. I made the change Paul indicates by
adding the /s. This does eliminate the error and I can create pages,
but the wikilink has many double quotes added to it like:<br>
<br>
<a class="createlinktext"
title="page not found - click link to create page"
href="http://www.christiancyclingpa.com/pmwiki/index.php?n=Members.StanRitchie?action=edit"><”“”“”“”“‘“”“”“”“”“”“”“”’”“”“”“”“‘“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”’”Stan</a>
<a class="createlink" title="page not found - click link to create page"
href="http://www.christiancyclingpa.com/pmwiki/index.php?n=Members.StanRitchie?action=edit"><”“”“”“”“‘“”“”“”“”“”’”“”“”“”’”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“‘“?</a><br>
<br>
Any ideas?<br>
<br>
Again, thanks for the prompt response and help. I've been working with
PmWiki for about a month and am having a blast!<br>
<br>
You guys are doing a great job with this stuff!<br>
<br>
Stan<br>
<br>
<br>
Patrick R. Michaud wrote:
<blockquote cite="mid20050330214326.GE19233@pmichaud.com" type="cite">
<pre wrap="">On Thu, Mar 31, 2005 at 09:28:22AM +1200, John Rankin wrote:
</pre>
<blockquote type="cite">
<pre wrap="">This is a known limitation in how ExtendMarkup handles smart quotes.
In short, if an html tag < ... > breaks across more than 2 lines,
the piece of code that ignores quotes inside < ... > breaks.
</pre>
</blockquote>
<pre wrap=""><!---->
Oh! Did you try adding the /s option to the relevant patterns?
I'm guessing that the code to handle this is given in:
## automatic smart quotes
Markup('<n>','<squo',"/\s?\n\s*([^<]+?>)/",' $1');
Markup('squo','>style',"/(<.*?>['\"]*)|(.?['\"]+)/e",
"BypassHTML(PSS('$1'),PSS('$2'))");
Markup('sq|','>inline',"/(\\[\\[[^|\\]]+\\|)(.*?)(\\]\\])/e",
"'$1'.SmartenLinkText(PSS('$2')).'$3'");
Markup('sq->','>inline',"/(\\[\\[)([^\\]]+?)(-+&gt;.*?\\]\\])/e",
"'$1'.SmartenLinkText(PSS('$2')).'$3'");
By default the '.' in a pattern doesn't match newlines, but adding
the 's' option, as in
## automatic smart quotes
Markup('<n>','<squo',"/\s?\n\s*([^<]+?>)/",' $1');
Markup('squo','>style',"/(<.*?>['\"]*)|(.?['\"]+)/es",
"BypassHTML(PSS('$1'),PSS('$2'))");
Markup('sq|','>inline',"/(\\[\\[[^|\\]]+\\|)(.*?)(\\]\\])/es",
"'$1'.SmartenLinkText(PSS('$2')).'$3'");
Markup('sq->','>inline',"/(\\[\\[)([^\\]]+?)(-+&gt;.*?\\]\\])/es",
"'$1'.SmartenLinkText(PSS('$2')).'$3'");
will tell those .*?'s that they can match newlines as well. There
may be other reasons why it's not working (or won't work), but this
is my first guess/thought about it.
Or, one could conceivably convert any newlines found inside
< ... > into spaces before doing the rest of the pattern matches. But
the /s solution above is probably vastly superior and faster.
Pm
</pre>
</blockquote>
</body>
</html>