Opportunistic networks take full advantage of opportunistic encounters among nodes to transfer packets. According to the characteristics of the limited energy of nodes and the frequent link variation in opportunistic networks, we introduce a novel routing metric that comprehensively takes into consideration the energy consumption of nodes, the probability of relay nodes meeting their destination, the time-to-live of the packet, and the approximate number of packet copies. Based on this metric, we propose a controllable multi-replica routing approach in which a single-branch diffusion strategy is applied to achieve the goal of dynamically controlling the number of replicas of packets. Our simulation results show that the proposed approach can avoid excessive load on individual nodes, guarantee the energy fairness among nodes, prolong the network lifetime, and effectively improve the delivery ratio of packets.Correspondingly, our design focuses on two challenges: (i) how to maintain the energy fairness among nodes in an opportunistic network to prolong the network lifetime while achieving a high delivery ratio, and (ii) how to dynamically control the number of copies of packets in an opportunistic network without affecting the packet delivery ratio. Our main contributions are summarized as follows: