我有一个这样的固定链接:
example.com/cyclone/2013/06/05/introduction/
这篇文章属于“旋风”和“天气”两个类别,但“旋风”正在这个永久链接中接管。
我需要检查是否为这篇文章分配了“天气”,然后重写永久链接。
if( in_array( 'weather', $cats ) ) {
$pattern = '#([^/]+)/(\d{4})/(\d{2})/(\d{2})/([^/]+)/?#';
if( preg_match( $pattern, $permalink, $matches ) ) {
if( $matches[1] && $old_cat = get_category_by_slug( $matches[1] ) && 'weather' !== $matches[1] ) {
preg_replace( '/' . $matches[1] . '/', $new_cat, $permalink );
return $permalink;
}
}
}
不幸的是,$matches[1] 不是用于 preg_replace 的有效“模式”。如何替换 preg_match 的第一场比赛?