It happened around 3:15 p.m. Saturday in the 300 block of Market Street.
Officials say construction crews were doing plumbing work in the area.
Rescue crews freed the male worker at 5:05 p.m., officials say, after being trapped for nearly two hours.
The victim was taken to Jefferson University Hospital for observation.
SEPTA ran buses on the Market-Frankford El between 2nd and 5th streets during the rescue.
Officials initially reported the street caved in, but investigators say they are trying to determine what happened.