)(.+?)(\<\/div\>\<\/div\>)/si";
/**/
$rm = preg_replace($r1, '
' . "$1$2$3" . '
' . "$4" . '
' . "$5", $rm);
$rm = preg_replace($r2, "$1" . '
' . "$2$3$4" . '
' . "$5" . '
' . "$6", $rm);
$rm = stripslashes(preg_replace($r3, "'\\1\\2\\3\\4\\5'._ws_widget__ad_codes_parse_readme_specs('\\6').'\\7'", $rm, 1));
$rm = stripslashes(preg_replace($r4, "", $rm, 1)); /* Here we just remove the screenshots completely. */
/**/
$readme = '
' . "\n";
$readme .= $rm . "\n"; /* Content. */
$readme .= '
' . "\n";
/**/
return $readme;
}
else /* In case readme.txt is deleted. */
{
return "Unable to parse /readme.txt.";
}
}
/*
Callback function that helps readme file parsing with specs.
*/
function _ws_widget__ad_codes_parse_readme_specs ($str = FALSE)
{
$str = preg_replace("/(\
|^)(.+?)(\:)( )(.+?)($|\<\/p\>)/mi", "$1" . '
' . "$2" . '' . "$3" . ' ' . "$5" . '' . "$6", $str);
$str = preg_replace("/\
\
/i", '- ', $str); /* Open the list items. */
$str = preg_replace("/\<\/li\>\<\/p\>/i", '
', $str);
/**/
return $str;
}
/*
Function for parsing readme.txt files and returning a key value.
*/
function ws_widget__ad_codes_parse_readme_value ($key = FALSE)
{
static $readme; /* For repeated lookups. */
/**/
$path = dirname(dirname(dirname(__FILE__))) . "/readme.txt";
/**/
if (isset($readme) || file_exists($path))
{
if (!isset($readme)) /* If not already opened, we need open it up now. */
{
$readme = file_get_contents($path); /* Get readme.txt file contents. */
$mb = function_exists("mb_convert_encoding") ? @mb_convert_encoding($readme, "UTF-8",@mb_detect_encoding($readme, "WINDOWS-1252, UTF-8")) : $readme;
$readme = ($mb) ? $mb : $readme; /* Double check this, just in case conversion fails on an unpredicted charset. */
}
/**/
preg_match("/(^)(" . preg_quote($key, "/") . ")(\:)( )(.+?)($)/m", $readme, $m);
/**/
return strlen($m[5] = trim($m[5])) ? $m[5] : false;
}
else /* Nope. */
return false;
}
?>