In this paper, we study the problem of designing a differentially private FIM algorithm which can simultaneously provide a high level of data utility and a high level of data privacy. This task is very challenging due to the possibility of long transactions. A potential solution is to limit the cardinality of transactions by truncating long transactions. However, such approach might cause too much information loss and result in poor performance. To limit the cardinality of transactions while reducing the information loss, we argue that long transactions should be split rather than truncated. To this end, we propose a transaction splitting based differentially private FIM algorithm, which is referred to as DP-Apriori. In particular, a smart weighted splitting technique is proposed to divide long transactions into sub-transactions whose cardinality is no more than a specified number of items. In addition, to offset the information loss caused by transaction splitting, a support estimation technique is devised to estimate the actual support of itemsets in the original database. Through privacy analysis, we show that our DP-Apriori algorithm is ɛ-differentially private. Extensive experiments on real-world datasets illustrate that DP-Apriori substantially outperforms the state-of-the-art techniques.