We introduce a method to construct regular column-weight-three low-density parity-check (LDPC) codes with low error floors for the sum product algorithm (SPA) on the binary symmetric channel (BSC). The Tanner graphs of these codes are free of certain small trapping sets. These trapping sets are selected from the Trapping Set Ontology for the Gallager A/B decoder and are selected based on their relative harmfulness for the SPA. We evaluate the relative harmfulness of different trapping sets for the SPA by using the topological relations among them and by analyzing decoding failures on one trapping set in the presence or absence of other trapping sets. To the best of our knowledge, these codes outperform the best known short length, regular column-weight-three LDPC codes.