Can I have different publishers and one subscriber in replication? I have the same databases in three cities which each database have three tables:

1- tbl_worker
2-tbl_workshop
3-tbl_users
and cities are:city1,city2,city3


city2 and city3 insert informations in their databases. 

The city1 database should be updated every 1 hour from data inserted in city1 and city2 databases.

For example, the data inserted in tbl_kargah in city1 and city2 databases should be merged and inserted into tbl_kargah of city1 database every 1 hour.

Will using replication cover my requirement and which replication?

As I read in MSDN the publisher distribute data in subscribers, but I have different publishers and 1 subscriber.
Yes it is possible to have many publishers and only one subscriber. You can also have one publisher and many subscribers. So in your case you will be able to publish from City1 and City2 and subscribe only City1 on those publishers. You can use this link to have an overview of the replication engine and how to setup it. http://technet.microsoft.com/en-us/library/ms151198.aspx

Hope this was helpful