// Compile QUOT and other non-HTML codes
$code = str_replace($secChars['to'], $secChars['from'], $code);
- // Find $fooBar entries
- preg_match_all('/\$(.){0,}/', $code, $matches);
-
- // Are some matches found?
- if ((count($matches) > 0) && (count($matches[0]) > 0)) {
- // Scan all matches for not $content
- foreach ($matches[0] as $match) {
- // Trim match
- $match = trim($match);
-
- // Is the first part not $content and not empty?
- if ((!empty($match)) && (substr($match, 0, 8) != '$content')) {
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match);
- // Then replace $ with $
- $matchSecured = str_replace('$', '$', $match);
-
- // And in $code as well
- $code = str_replace($match, $matchSecured, $code);
- } // END - if
- } // END - if
- } // END - if
-
// Find $content[bla][blub] entries
preg_match_all('/\$content((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches);
if ((is_string($matches[3][$key])) && (!isset($matchesFound[$match])) && (!isset($matchesFound[$key.'_' . $matches[3][$key]]))) {
// Replace it in the code
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',match=' . $match);
- $newMatch = str_replace('[', "['", str_replace(']', "']", $match));
+ $newMatch = str_replace('[', "['", str_replace(']', "']", str_replace('$', '{COMPILE_DOLLAR}', $match)));
$code = str_replace($match, '".' . $newMatch . '."', $code);
$matchesFound[$key . '_' . $matches[3][$key]] = 1;
$matchesFound[$match] = true;
} // END - foreach
} // END - if
- // Return it
+ // Find $fooBar entries
+ preg_match_all('/\$([a-z_A-Z\[\]]){0,}/', $code, $matches);
+
+ // Are some matches found?
+ if ((count($matches) > 0) && (count($matches[0]) > 0)) {
+ // Scan all matches for not $content
+ foreach ($matches[0] as $match) {
+ // Trim match
+ $match = trim($match);
+
+ // Is the first part not $content and not empty?
+ if ((!empty($match)) && (substr($match, 0, 8) != '$content') && ($match != '$userid')) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match);
+ // Then replace $ with $
+ $matchSecured = str_replace('$', '$', $match);
+
+ // And in $code as well
+ $code = str_replace($match, $matchSecured, $code);
+ } // END - if
+ } // END - if
+ } // END - if
+
+ // Replace {COMPILE_DOLLAR} back to dollar sign
+ $code = str_replace('{COMPILE_DOLLAR}', '$', $code);
+
+ // Finally return it
return $code;
}