mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
The regex used here are more or less identical to those used internally by the PHP lexer (ok, ok, they are a *little* bit more optimized), we should not need to call the tokenizer at all now...
git-svn-id: file:///svn/phpbb/trunk@6302 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
11dba17606
commit
f39eeda225
1 changed files with 6 additions and 11 deletions
|
@ -103,14 +103,15 @@ class template_compile
|
||||||
|
|
||||||
if (!function_exists('token_get_all'))
|
if (!function_exists('token_get_all'))
|
||||||
{
|
{
|
||||||
|
// This matches the information gathered from the internal PHP lexer
|
||||||
$match = array(
|
$match = array(
|
||||||
'\\?php[\n\r\s\t]+',
|
'#<\?.*?\?>#s',
|
||||||
'[\\?%]=',
|
'#<[%?]=.*?\?>#s',
|
||||||
'[\\?%][^\w]',
|
'#<script\s+language\s*=\s*(["\']?)php\1\s*>.*?</script\s*>#s',
|
||||||
'script[\n\r\s\t]+language[\n\r\s\t]*=[\n\r\s\t]*[\'"]php[\'"]'
|
'#<\?php(?:\r\n?|[ \n\t]).*?\?>#s'
|
||||||
);
|
);
|
||||||
|
|
||||||
$code = preg_replace('#<(' . implode('|', $match) . ')#is', '<$1', $code);
|
$code = preg_replace($match, '', $code);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -169,12 +170,6 @@ class template_compile
|
||||||
// php is a no-no. There is a potential issue here in that non-php
|
// php is a no-no. There is a potential issue here in that non-php
|
||||||
// content may be removed ... however designers should use entities
|
// content may be removed ... however designers should use entities
|
||||||
// if they wish to display < and >
|
// if they wish to display < and >
|
||||||
/*
|
|
||||||
$match_php_tags = array('#\<\?php.*?\?\>#is', '#<[^\w<]*(script)(((?:"[^"]*"|\'[^\']*\'|[^<>\'"])+)?(language[^<>\'"]+("[^"]*php[^"]*"|\'[^\']*php[^\']*\'))((?:"[^"]*"|\'[^\']*\'|[^<>\'"])+)?)?>.*?</script>#is', '#\<\?.*?\?\>#s', '#\<%.*?%\>#s');
|
|
||||||
$code = preg_replace($match_php_tags, '', $code);
|
|
||||||
*/
|
|
||||||
|
|
||||||
// An alternative to the above would be calling this function which would be the ultimate solution but also has its drawbacks.
|
|
||||||
$this->remove_php_tags($code);
|
$this->remove_php_tags($code);
|
||||||
|
|
||||||
// Pull out all block/statement level elements and seperate plain text
|
// Pull out all block/statement level elements and seperate plain text
|
||||||
|
|
Loading…
Add table
Reference in a new issue