I execute the command: /fill ~ ~ ~ ~ ~ ~ sand 0 replace stone
and I get: 0 blocks filled
so a success.
I execute the command: /fill ~ ~ ~ ~ ~ ~ hopper 0 replace stone
and it says: Data tag parsing failed: Unable to locate name/value seperator for string: stone
so it fails, even though I only changed sand
to hopper
!
Linked issues
Comments

Can confirm this is still a bug. Tried it with torches and it failed.
Confirmed for 14w27b. 😞

Is this still a concern in the current Minecraft version 1.8.1 Prerelease 3 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
Duplicate of MC-61864 - using that ticket as it covers the broader issue of all tile entities.
EDIT: and that ticket was addressed specifically by a Mojang developer.
Still broken in 15w44a (1.9 snapshot)
(this is a duplicate of MC-61864 which states the following)
@unknown added a comment - 16/Jul/14 11:16 PM
Replacing blocks with tile entities is not supported, this is due to a limitation in the parsing of commands. It may be changed in the future, but not until after 1.8. This issue should be considered a feature request, not a bug.
(no need to comment anymore)
Cannot confirm, see screenshots.Nevermind.
Confirmed.