Just got in the code and the parsing code is in the ParallelRegex class L105
This is a concatenation of all regular expression for each token. If there is no match, the pre
variable is getting the cdata
.
One thing that you can do is to add this code just before the return.
if ($pre == "\n==== Edit This Wiki ====\n\nYou must ") {
$hscPre = hsc($pre);
$hscCompound = hsc($this->getCompoundedRegex());
$hscSubject = hsc($subject);
$message = "<p>Pre: <pre style=\"background-color: aliceblue\">{$hscPre}</pre></p><p>Compound regexp: <pre style=\"background-color: aliceblue\">{$hscCompound}</pre></p><p>Subject: <pre style=\"background-color: aliceblue\">{$hscSubject}</pre></p>";
msg($message);
dbglog($message);
}
It capture the moment where the cdata \n==== Edit This Wiki ====\n\nYou must
is created
and shows debug information via a message (msg
) with:
- the cdata to check
- the regular expression (compound)
- the subject (ie the text searched)
The dbglog
writes the message also in the file DOKUWIKI_HOME/data/cache/debug.log
From there, we can check if this is a valid regular expression problem. If this is not, this is a problem with the PCRE extension