A method of preparing poly(imidazolylporphyrin metal complex) represented by the general formula (3) according to claim 7 , comprising; (i) dissolving the porphyrin metal complex dimer represented by the general formula (2) according to claim 4 and a poly(imidazolylporphyrin) represented by formula (e): wherein each of R1, Im including R3, and M has the same meaning as those defined in claim 1 , a