mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
rework of translation::replaceTagsCompletley as the prior method removed too much in rare cases
This commit is contained in:
parent
264868adaf
commit
04760c6510
@ -1590,6 +1590,9 @@ egw_LAB.wait(function() {
|
|||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.array2string($newStyle[0]));
|
//error_log(__METHOD__.__LINE__.array2string($newStyle[0]));
|
||||||
$style2buffer = implode('',$newStyle[0]);
|
$style2buffer = implode('',$newStyle[0]);
|
||||||
|
// only replace what we have found, we use it here, as we use the same routine in translation::replaceTagsCompletley
|
||||||
|
// no need to do the extra routine
|
||||||
|
$html = str_ireplace($newStyle[0],'',$html);
|
||||||
}
|
}
|
||||||
if ($style2buffer)
|
if ($style2buffer)
|
||||||
{
|
{
|
||||||
@ -1621,8 +1624,10 @@ egw_LAB.wait(function() {
|
|||||||
// as the comments as <!-- styledefinition --> in stylesheet are outdated, and ck-editor does not understand it, we remove it
|
// as the comments as <!-- styledefinition --> in stylesheet are outdated, and ck-editor does not understand it, we remove it
|
||||||
$css_no_comment = str_replace(array(':','<!--','-->'),array(': ','',''),$css);
|
$css_no_comment = str_replace(array(':','<!--','-->'),array(': ','',''),$css);
|
||||||
//error_log(__METHOD__.__LINE__.$css);
|
//error_log(__METHOD__.__LINE__.$css);
|
||||||
|
// we already removed what we have found, above, as we used pretty much the same routine as in translation::replaceTagsCompletley
|
||||||
|
// no need to do the extra routine
|
||||||
// TODO: we may have to strip urls and maybe comments and ifs
|
// TODO: we may have to strip urls and maybe comments and ifs
|
||||||
if (stripos($html,'style')!==false) translation::replaceTagsCompletley($html,'style'); // clean out empty or pagewide style definitions / left over tags
|
//if (stripos($html,'style')!==false) translation::replaceTagsCompletley($html,'style'); // clean out empty or pagewide style definitions / left over tags
|
||||||
return $css_no_comment;
|
return $css_no_comment;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1086,15 +1086,31 @@ class translation
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$found=null;
|
||||||
if ($addbracesforendtag === true )
|
if ($addbracesforendtag === true )
|
||||||
{
|
{
|
||||||
$_body = preg_replace('~<'.$tag.'[^>]*?>(.*?)</'.$endtag.'[\s]*>~simU','',$_body);
|
if (stripos($_body,'<'.$tag)!==false) $ct = preg_match_all('#<'.$tag.'(?:\s.*)?>(.+)</'.$endtag.'>#isU', $_body, $found);
|
||||||
|
if ($ct>0)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.array2string($found[0]));
|
||||||
|
// only replace what we have found
|
||||||
|
$_body = str_ireplace($found[0],'',$_body);
|
||||||
|
}
|
||||||
// remove left over tags, unfinished ones, and so on
|
// remove left over tags, unfinished ones, and so on
|
||||||
$_body = preg_replace('~<'.$tag.'[^>]*?>~si','',$_body);
|
$_body = preg_replace('~<'.$tag.'[^>]*?>~si','',$_body);
|
||||||
}
|
}
|
||||||
if ($addbracesforendtag === false )
|
if ($addbracesforendtag === false )
|
||||||
{
|
{
|
||||||
|
if (stripos($_body,'<'.$tag)!==false) $ct = preg_match_all('#<'.$tag.'(?:\s.*)?>(.+)'.$endtag.'#isU', $_body, $found);
|
||||||
|
if ($ct>0)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.array2string($found[0]));
|
||||||
|
// only replace what we have found
|
||||||
|
$_body = str_ireplace($found[0],'',$_body);
|
||||||
|
}
|
||||||
|
/*
|
||||||
$_body = preg_replace('~<'.$tag.'[^>]*?>(.*?)'.$endtag.'~simU','',$_body);
|
$_body = preg_replace('~<'.$tag.'[^>]*?>(.*?)'.$endtag.'~simU','',$_body);
|
||||||
|
*/
|
||||||
// remove left over tags, unfinished ones, and so on
|
// remove left over tags, unfinished ones, and so on
|
||||||
$_body = preg_replace('~<'.$tag.'[^>]*?>~si','',$_body);
|
$_body = preg_replace('~<'.$tag.'[^>]*?>~si','',$_body);
|
||||||
$_body = preg_replace('~'.$endtag.'~','',$_body);
|
$_body = preg_replace('~'.$endtag.'~','',$_body);
|
||||||
|
Loading…
Reference in New Issue
Block a user