β-Pyrrole Functionalized Push or Pull Porphyrins: Excited Charge Transfer Promoted Singlet Oxygen Generation.