| version 1.81, 2008/08/01 14:53:23 |
version 1.82, 2009/07/01 20:49:03 |
|
|
| * http://platon.sk/projects/Metafox/ |
* http://platon.sk/projects/Metafox/ |
| */ |
*/ |
| |
|
| /* $Platon: Metafox/functions.inc.php,v 1.78 2008-07-29 16:13:39 nepto Exp $ */ |
/* $Platon: Metafox/functions.inc.php,v 1.81 2008-08-01 14:53:23 nepto Exp $ */ |
| |
|
| function ezin_eval($evalcode) /* {{{ */ |
function ezin_eval($evalcode) /* {{{ */ |
| { |
{ |
| return @eval($evalcode); |
return @eval($evalcode); |
| } /* }}} */ |
} /* }}} */ |
| |
|
| |
function ezin_str_rev_args() /* {{{ */ |
| |
{ |
| |
$str = ''; |
| |
$cnt = func_num_args(); |
| |
for ($i = 0; $i < $cnt; $i++) { |
| |
$str = func_get_arg($i).$str; |
| |
} |
| |
return $str; |
| |
} /* }}} */ |
| |
|
| /* |
/* |
| * Line wrap function |
* Line wrap function |
| */ |
*/ |
| Line 80 function ezin_process_text_flags(&$str, |
|
| Line 90 function ezin_process_text_flags(&$str, |
|
| function ezin_get_special_tags_flags($str) /* {{{ */ |
function ezin_get_special_tags_flags($str) /* {{{ */ |
| { |
{ |
| $ret = ''; |
$ret = ''; |
| preg_match('|<gallery\s[^>]+>|i', $str) && $ret .= 'G'.'I'; // we need <image-link> as well |
preg_match('|<gallery\s[^<>]+>|i', $str) && $ret .= 'G'.'I'; // we need <image-link> as well |
| preg_match('|<flash\s[^>]+>|i', $str) && $ret .= 'f'; |
preg_match('|<flash\s[^<>]+>|i', $str) && $ret .= 'f'; |
| preg_match('|<image\s[^>]+>|i', $str) && $ret .= 'i'; |
preg_match('|<image\s[^<>]+>|i', $str) && $ret .= 'i'; |
| preg_match('|<image-link\s[^>]+>|i', $str) && $ret .= 'I'; |
preg_match('|<image-link\s[^<>]+>|i', $str) && $ret .= 'I'; |
| preg_match('|<link\s[^>]+>|i', $str) && $ret .= 'L'; |
preg_match('|<link\s[^<>]+>|i', $str) && $ret .= 'L'; |
| preg_match('|<extern-link\s[^>]+>|i', $str) && $ret .= 'E'; |
preg_match('|<extern-link\s[^<>]+>|i', $str) && $ret .= 'E'; |
| preg_match('|<repository-link\s[^>]+>|i', $str) && $ret .= 'R'; |
preg_match('|<repository-link\s[^<>]+>|i', $str) && $ret .= 'R'; |
| preg_match('|<mail-link\s[^>]+>|i', $str) && $ret .= 'M'; |
preg_match('|<mail-link\s[^<>]+>|i', $str) && $ret .= 'M'; |
| preg_match('|<author-link\s[^>]+>|i', $str) && $ret .= 'U'; |
preg_match('|<author-link\s[^<>]+>|i', $str) && $ret .= 'U'; |
| preg_match('|<section-link\s[^>]+>|i', $str) && $ret .= 'S'; |
preg_match('|<section-link\s[^<>]+>|i', $str) && $ret .= 'S'; |
| preg_match('|<article-link\s[^>]+>|i', $str) && $ret .= 'A'; |
preg_match('|<article-link\s[^<>]+>|i', $str) && $ret .= 'A'; |
| preg_match('|<page-link\s[^>]+>|i', $str) && $ret .= 'A'; // same as articles |
preg_match('|<page-link\s[^>]+<>|i', $str) && $ret .= 'A'; // same as articles |
| preg_match('|<article-print-link\s[^>]+>|i', $str) && $ret .= 'P'; |
preg_match('|<article-print-link\s[^<>]+>|i', $str) && $ret .= 'P'; |
| preg_match('|<print-link\s[^>]+>|i', $str) && $ret .= 'P'; |
preg_match('|<print-link\s[^<>]+>|i', $str) && $ret .= 'P'; |
| preg_match('|<include\s[^>]+>|i', $str) && $ret .= 'N'; |
preg_match('|<include\s[^<>]+>|i', $str) && $ret .= 'N'; |
| return $ret; |
return $ret; |
| } /* }}} */ |
} /* }}} */ |
| |
|
| Line 168 function ezin_handle_special_tags(&$str, |
|
| Line 178 function ezin_handle_special_tags(&$str, |
|
| $str = preg_replace($g_pattern, $g_replace, $str); |
$str = preg_replace($g_pattern, $g_replace, $str); |
| } |
} |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'f') !== false) { /* {{{ */ |
|
| $pattern[] = '|<flash\s+(\w{3,6}://[^>\s]+)([^>]*)>\s*((?:(?!<flash).){0,499}?)\s*</flash>|si'; |
// Resize images if neccessary |
| $pattern[] = '|<flash\s+([^>\s]+)([^>]*)>\s*((?:(?!<flash).){0,499}?)\s*</flash>|si'; |
|
| $pattern[] = '|<flash\s+(\w{3,6}://[^>\s]+)([^>]*)>|i'; |
|
| $pattern[] = '|<flash\s+([^>\s]+)([^>]*)>|i'; |
|
| $replacement[] = '<object type="application/x-shockwave-flash" data="\\1"\\2>'."\n" |
|
| .'<param name="movie" value="\\1"><embed src="\\1"\\2>\\3</object>'; |
|
| $replacement[] = '<object type="application/x-shockwave-flash" data="'.$repository_url.'\\1"\\2>'."\n" |
|
| .'<param name="movie" value="'.$repository_url.'\\1"><embed src="'.$repository_url.'\\1"\\2>\\3</object>'; |
|
| $replacement[] = '<object type="application/x-shockwave-flash" data="\\1"\\2>'."\n" |
|
| .'<param name="movie" value="\\1"><embed src="\\1"\\2></object>'; |
|
| $replacement[] = '<object type="application/x-shockwave-flash" data="'.$repository_url.'\\1"\\2>'."\n" |
|
| .'<param name="movie" value="'.$repository_url.'\\1"><embed src="'.$repository_url.'\\1"\\2></object>'; |
|
| } /* }}} */ |
|
| if (strpos($mask, 'I') !== false) { /* {{{ */ |
|
| $pattern[] = '|<image-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<image-link).){0,499}?)\s*</image-link>|si'; |
|
| $pattern[] = '|<image-link\s+([^>\s]+)([^>]*)>|i'; |
|
| $replacement[] = '<a target="_blank" href="'.$repository_url.'\\1"><image \\1\\2>\\3</image></a>'; |
|
| $replacement[] = '<a target="_blank" href="'.$repository_url.'\\1"><image \\1\\2></a>'; |
|
| } /* }}} */ |
|
| if (strpos(strtolower($mask), 'i') !== false) { /* {{{ */ |
if (strpos(strtolower($mask), 'i') !== false) { /* {{{ */ |
| preg_match_all('|<image(-link)?\s+([^>\s]+)([^>]*width=([^>\s]+)[^>]*)>|i', |
preg_match_all('|<image(-link)?\s+([^>\s]+)([^>]*width=([^>\s]+)[^>]*)>|i', |
| $str, $matches, PREG_SET_ORDER); |
$str, $matches, PREG_SET_ORDER); |
| Line 201 function ezin_handle_special_tags(&$str, |
|
| Line 193 function ezin_handle_special_tags(&$str, |
|
| } |
} |
| //echo "FILE: $val[1], WIDTH: $val[3], RET: $ret<br>"; |
//echo "FILE: $val[1], WIDTH: $val[3], RET: $ret<br>"; |
| } |
} |
| |
} |
| |
|
| $pattern[] = '|<image\s+(\w{3,6}://[^>\s]+)([^>]*)>\s*((?:(?!<image).){0,499}?)\s*</image>|si'; |
if (strpos($mask, 'f') !== false) { /* {{{ */ |
| $pattern[] = '|<image\s+/([^>\s]+)([^>]*)>\s*((?:(?!<image).){0,499}?)\s*</image>|si'; |
// URL in http:// form |
| $pattern[] = '|<image\s+([^>\s]+)([^>]*)>\s*((?:(?!<image).){0,499}?)\s*</image>|si'; |
$opentag = ezin_str_rev_args(strrev('<flash'),'\s+','([^>\s]+//:\w{3,6})','([^<>]*?)','>'); |
| $pattern[] = '|<image\s+(\w{3,6}://[^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</flash>'), $opentag); |
| $pattern[] = '|<image\s+/([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $pattern[] = '|<image\s+([^>\s]+)([^>]*)>|i'; |
$rrplc[] = strrev('<object type="application/x-shockwave-flash" data="3\\"2\\>'."\n" |
| $replacement[] = '<img alt="\\3" title="\\3" border="0" src="\\1"\\2>'; |
.'<param name="movie" value="3\\"><embed src="3\\"2\\>1\\</object>'); |
| $replacement[] = '<img alt="\\3" title="\\3" border="0" src="'.$ezin_url.'\\1"\\2>'; |
$rrplc[] = strrev('<object type="application/x-shockwave-flash" data="2\\"1\\>'."\n" |
| $replacement[] = '<img alt="\\3" title="\\3" border="0" src="'.$repository_url.'\\1"\\2>'; |
.'<param name="movie" value="2\\"><embed src="2\\"1\\></object>'); |
| $replacement[] = '<img alt="" border="0" src="\\1"\\2>'; |
// URL without http:// |
| $replacement[] = '<img alt="" border="0" src="'.$ezin_url.'\\1"\\2>'; |
$opentag = ezin_str_rev_args(strrev('<flash'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $replacement[] = '<img alt="" border="0" src="'.$repository_url.'\\1"\\2>'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</flash>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = strrev('<object type="application/x-shockwave-flash" data="'.$repository_url.'3\\"2\\>'."\n" |
| |
.'<param name="movie" value="'.$repository_url.'3\\"><embed src="'.$repository_url.'3\\"2\\>1\\</object>'); |
| |
$rrplc[] = strrrev('<object type="application/x-shockwave-flash" data="'.$repository_url.'2\\"1\\>'."\n" |
| |
.'<param name="movie" value="'.$repository_url.'2\\"><embed src="'.$repository_url.'2\\"1\\></object>'); |
| |
} /* }}} */ |
| |
if (strpos($mask, 'I') !== false) { /* {{{ */ |
| |
$opentag = ezin_str_rev_args(strrev('<image-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*([^<>]*?)\s*%s|si', strrev('</image-link>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = strrev('<a target="_blank" href="'.$repository_url.'3\\"><image 3\\2\\>1\\</image></a>'); |
| |
$rrplc[] = strrev('<a target="_blank" href="'.$repository_url.'2\\"><image 2\\1\\></a>'); |
| |
} /* }}} */ |
| |
if (strpos(strtolower($mask), 'i') !== false) { /* {{{ */ |
| |
// URL in http:// form |
| |
$opentag = ezin_str_rev_args(strrev('<image'),'\s+','([^<>\s]+//:\w{3,6})','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*([^<>]*?)\s*%s|si', strrev('</image>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" alt="1\\" title="1\\" src="'),'\\3','"','\\2','>'); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" src="'),'\\2','"','\\1','>'); |
| |
// URL in /something form |
| |
$opentag = ezin_str_rev_args(strrev('<image'),'\s+','/','([^<>\s]*)','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*([^<>]*?)\s*%s|si', strrev('</image>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" alt="1\\" title="1\\" src="'.$ezin_url),'\\3','"','\\2','>'); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" src="'.$ezin_url),'\\2','"','\\1','>'); |
| |
// URL without http:// |
| |
$opentag = ezin_str_rev_args(strrev('<image'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*([^<>]*?)\s*%s|si', strrev('</image>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" alt="1\\" title="1\\" src="'.$repository_url),'\\3','"','\\2','>'); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<img border="0" src="'.$repository_url),'\\2','"','\\1','>'); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'L') !== false) { /* {{{ */ |
if (strpos($mask, 'L') !== false) { /* {{{ */ |
| $pattern[] = '|<link\s+(\w{3,6}://[^>\s]+)([^>]*)>\s*((?:(?!<link).){0,499}?)\s*</link>|si'; |
// URL in http:// form |
| $pattern[] = '|<link\s+/([^>\s]*)([^>]*)>\s*((?:(?!<link).){0,499}?)\s*</link>|si'; |
$opentag = ezin_str_rev_args(strrev('<link'),'\s+','([^<>\s]+//:\w{3,6})','([^<>]*?)','>'); |
| $pattern[] = '|<link\s+([^>\s]+)([^>]*)>\s*((?:(?!<link).){0,499}?)\s*</link>|si'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</link>'), $opentag); |
| $pattern[] = '|<link\s+(\w{3,6}://[^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $pattern[] = '|<link\s+/([^>\s]*)([^>]*)>|i'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $pattern[] = '|<link\s+([^>\s]+)([^>]*)>|i'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| $replacement[] = '<a href="\\1"\\2>\\3</a>'; |
// URL in /something form |
| $replacement[] = '<a href="'.$ezin_url.'\\1"\\2>\\3</a>'; |
$opentag = ezin_str_rev_args(strrev('<link'),'\s+','/','([^<>\s]*)','([^<>]*?)','>'); |
| $replacement[] = '<a href="'.$repository_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</link>'), $opentag); |
| $replacement[] = '<a href="\\1"\\2>\\1</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $replacement[] = '<a href="'.$repository_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| |
// URL without http:// |
| |
$opentag = ezin_str_rev_args(strrev('<link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</link>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$repository_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$repository_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'E') !== false) { /* {{{ */ |
if (strpos($mask, 'E') !== false) { /* {{{ */ |
| $pattern[] = '|<extern-link\s+(\w{3,6}://[^>\s]+)([^>]*)>\s*((?:(?!<extern-link).){0,499}?)\s*</extern-link>|si'; |
// URL in http:// form |
| $pattern[] = '|<extern-link\s+/([^>\s]*)([^>]*)>\s*((?:(?!<extern-link).){0,499}?)\s*</extern-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<extern-link'),'\s+','([^<>\s]+//:\w{3,6})','([^<>]*?)','>'); |
| $pattern[] = '|<extern-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<extern-link).){0,499}?)\s*</extern-link>|si'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</extern-link>'), $opentag); |
| $pattern[] = '|<extern-link\s+(\w{3,6}://[^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $pattern[] = '|<extern-link\s+/([^>\s]*)([^>]*)>|i'; |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $pattern[] = '|<extern-link\s+([^>\s]+)([^>]*)>|i'; |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| $replacement[] = '<a target="_blank" href="\\1"\\2>\\3</a>'; |
// URL in /something form -- Bit problematic... |
| $replacement[] = '<a target="_blank" href="'.$ezin_url.'\\1"\\2>\\3</a>'; |
$opentag = ezin_str_rev_args(strrev('<extern-link'),'\s+','/','([^<>\s]*)','([^<>]*?)','>'); |
| $replacement[] = '<a target="_blank" href="http://\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</extern-link>'), $opentag); |
| $replacement[] = '<a target="_blank" href="\\1"\\2>\\1</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a target="_blank" href="'.$ezin_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'.$ezin_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $replacement[] = '<a target="_blank" href="http://\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'.$ezin_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| |
// URL without http:// |
| |
$opentag = ezin_str_rev_args(strrev('<extern-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</extern-link>'), $opentag); |
| |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="http://'),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="http://'),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'R') !== false) { /* {{{ */ |
if (strpos($mask, 'R') !== false) { /* {{{ */ |
| $pattern[] = '|<repository-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<repository-link).){0,499}?)\s*</repository-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<repository-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<repository-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</repository-link>'), $opentag); |
| $replacement[] = '<a target="_blank" href="'.$repository_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a target="_blank" href="'.$repository_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'.$repository_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a target="_blank" href="'.$repository_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'M') !== false) { /* {{{ */ |
if (strpos($mask, 'M') !== false) { /* {{{ */ |
| $pattern[] = '|<mail-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<mail-link).){0,499}?)\s*</mail-link>|sie'; |
$opentag = ezin_str_rev_args(strrev('<mail-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<mail-link\s+([^>\s]+)([^>]*)>|ie'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|sie', strrev('</mail-link>'), $opentag); |
| $replacement[] = '\'<a href="\'.Platon::escape_email(\'\\1\', \'mailto\').\'"\\2>\\3</a>\''; |
$rpttr[] = sprintf('|%s|ie', $opentag); |
| $replacement[] = 'Platon::escape_email(\'\\1\', \'hypertext_link\', \'\\2\')'; |
$rrplc[] = ezin_str_rev_args("'",strrev('<a href="\''),'strrev(Platon::escape_email(strrev(\'\\3\'), \'mailto\'))','\'"','\\2'.'>'.'\\1'.strrev('</a>'),"'"); |
| |
$rrplc[] = 'strrev(Platon::escape_email(strrev(\'\\2\'), \'hypertext_link\', \'\\1\'))'; |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'S') !== false) { /* {{{ */ |
if (strpos($mask, 'S') !== false) { /* {{{ */ |
| $sub_url = $link_file_type ? 'section.php?' : '?ezin_section_id='; |
$sub_url = $link_file_type ? 'section.php?' : '?ezin_section_id='; |
| $pattern[] = '|<section-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<section-link).){0,499}?)\s*</section-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<section-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<section-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</section-link>'), $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'A') !== false) { /* {{{ */ |
if (strpos($mask, 'A') !== false) { /* {{{ */ |
| $sub_url = $link_file_type ? 'article.php?' : '?ezin_article_id='; |
$sub_url = $link_file_type ? 'article.php?' : '?ezin_article_id='; |
| $pattern[] = '|<article-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<article-link).){0,499}?)\s*</article-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<article-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<article-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-link>'), $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $pattern[] = '|<page-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<page-link).){0,499}?)\s*</page-link>|si'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| $pattern[] = '|<page-link\s+([^>\s]+)([^>]*)>|i'; |
$opentag = ezin_str_rev_args(strrev('<page-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</page-link>'), $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'P') !== false) { /* {{{ */ |
if (strpos($mask, 'P') !== false) { /* {{{ */ |
| $sub_url = $link_file_type ? 'print.php?' : '?ezin_print=1&ezin_article_id='; |
$sub_url = $link_file_type ? 'print.php?' : '?ezin_print=1&ezin_article_id='; |
| $pattern[] = '|<article-print-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<article-print-link).){0,499}?)' |
$opentag = ezin_str_rev_args(strrev('<article-print-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| .'\s*</article-print-link>|si'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-print-link>'), $opentag); |
| $pattern[] = '|<article-print-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| $pattern[] = '|<print-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<print-link).){0,499}?)\s*</print-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<print-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<print-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</print-link>'), $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| } /* }}} */ |
} /* }}} */ |
| if (strpos($mask, 'U') !== false) { /* {{{ */ |
if (strpos($mask, 'U') !== false) { /* {{{ */ |
| $sub_url = $link_file_type ? 'author.php?' : '?ezin_author_id='; |
$sub_url = $link_file_type ? 'author.php?' : '?ezin_author_id='; |
| $pattern[] = '|<author-link\s+([^>\s]+)([^>]*)>\s*((?:(?!<author-link).){0,499}?)\s*</author-link>|si'; |
$opentag = ezin_str_rev_args(strrev('<author-link'),'\s+','([^<>\s]+)','([^<>]*?)','>'); |
| $pattern[] = '|<author-link\s+([^>\s]+)([^>]*)>|i'; |
$rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</author-link>'), $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\3</a>'; |
$rpttr[] = sprintf('|%s|i', $opentag); |
| $replacement[] = '<a href="'.$ezin_url.$sub_url.'\\1"\\2>\\1</a>'; |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\3','"','\\2','>','\\1',strrev('</a>')); |
| } /* }}} */ |
$rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>')); |
| if (count($pattern) > 0) { |
} /* }}} */ |
| $str = preg_replace($pattern, $replacement, trim($str)); |
if (count($rpttr) > 0) { |
| |
$str = strrev($str); |
| |
$str = preg_replace($rpttr, $rrplc, $str); |
| |
$str = strrev($str); |
| } |
} |
| } /* }}} */ |
} /* }}} */ |
| |
|