J.P. Crawford will return to the disabled list just two weeks since being activated from it. The Phillies rookie suffered a broken hand Tuesday night.

Crawford will miss four to six weeks, Phillies manager Gabe Kapler said. He was injured in the fourth inning when Cardinals righthander Luke Weaver hit him on the hand with a 94-mph fastball. Crawford, 23, missed the entire month of May with a strained forearm and had a .425 on-base percentage in his first 41 plate appearances since returning from the DL.

"It's really tough," Kapler said. "I feel for him. I feel for the man. I feel for him the player. He worked really hard to get back here. His at-bats have really been coming along. They've been longer. He's been seeing the ball really well. He was really good on defense at third base. I think he was in a confident space. The whole clubhouse really cares for J.P. Disappointed for him. Disappointed for us. It's a big loss."

Crawford's absence will create more playing time for Maikel Franco, who was moved last week to a reserve role at third base. Franco replaced Crawford on Tuesday and singled in the sixth inning. He has just three hits in his last 19 at-bats and is batting .187 since May 10. Scott Kingery will remain at shortstop and Jesmuel Valentin will receive additional time. The Phillies will replace Crawford on the roster before Wednesday afternoon's game.