function rewrite_output($content) { $search = array( '/href="(./)?mod=(index|webdir|weblink|article|category|update|vipmulu|webthumb|archives|top|feedback|link)?"/', '/href="(./)?mod=webdir([&|&]cid=(\d+))?([&|&]page=(\d+))?"/', '/href="(./)?mod=article([&|&]cid=(\d+))?([&|&]page=(\d+))?"/', '/href="(./)?mod=update([&|&]days=(\d+))?([&|&]page=(\d+))?"/', '/href="(./)?mod=vipmulu([&|&]days=(\d+))?([&|&]page=(\d+))?"/', '/href="(./)?mod=archives([&|&]date=(\d+))?([&|&]page=(\d+))?"/', '/href="(./)?mod=search([&|&]type=(.+?))?([&|&]query=(.+?))?([&|&]page=(\d+))?"/', '/href="(./)?mod=siteinfo[&|&]wid=(\d+)"/', '/href="(./)?mod=diypage[&|&]pid=(\d+)"/', '/href="(./)?mod=rssfeed([&|&]type=(webdir|article))?([&|&]cid=(\d+))?"/', '/href="(./)?mod=sitemap([&|&]type=(webdir|article))?([&|&]cid=(\d+))?"/', );

$replace = array(
	fn($t) => rewrite_module($t[2]),
	fn($t) => rewrite_category('webdir', $t[3], $t[5]),
	fn($t) => rewrite_category('article', $t[3], $t[5]),
	fn($t) => rewrite_update($t[3], $t[5]),
	fn($t) => rewrite_vipmulu($t[3], $t[5]),
	fn($t) => rewrite_archives($t[3], $t[5]),
	fn($t) => rewrite_search($t[3], $t[5], $t[7]),
	fn($t) => rewrite_siteinfo($t[2]),
	fn($t) => rewrite_diypage($t[2]),
	fn($t) => rewrite_rssfeed($t[3], $t[5]),
	fn($t) => rewrite_sitemap($t[3], $t[5]),
);

foreach($search as $k => $r) {
	$content = preg_replace_callback($r, $replace[$k], $content);
}

return $content;

}

PHP 8.1 兼容性修改:使用 preg_replace_callback 重写输出内容

原文地址: https://www.cveoy.top/t/topic/O1n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录