Philippine troops have captured at least 45 more Muslim rebels - all exhausted and low on ammunition - as a deadly siege in a southern city nears its end, the country's military says.

The Moro National Liberation Front (MNLF) rebels either surrendered or were captured in pockets during clashes in coastal communities on Friday.

The siege started on September 9 after the rebels attacked Zamboanga, a major port city of nearly a million people, and took many civilians hostage. 

Troops need to completely clear the coastal communities of rebels before they can declare the guerrilla siege over, military spokesman Ramon Zagala said. The main target is top rebel commander Habier Malik and an unknown number of his followers, he said.

"They have essentially been defeated," Zagala said. "They have no more bullets, food and the willingness to fight but we have to clear the area to the last rebel."

Government forces have killed 138 rebels while 162 others have either been captured or surrendered in a major offensive initially overseen by President Benigno Aquino III.

More than 100,000 people have been displaced and 10,000 homes destroyed in the conflict.

At least 23 soldiers and police have been killed and 180 others wounded. Most of about 200 hostages have escaped or have been rescued, according to the military.

The rebels belong to a MNLF faction led by Nur Misuari. They signed a 1996 autonomy deal but refused to lay down their arms and later accused the government of reneging on a commitment to develop long-neglected communities.

Source: Agencies