Does a L293D return the same signal on the output as it gets on the input? Or does it change a pwm signal to a rather constant voltage?
The L293D is effectively a buffer as it passes 3V logic signals to the output which will have a larger voltage swing and can pass significantly more current (up to 1 amp I think) than the few milli-amps that are available on the RPi's GPIO pins directly. So in this case whilst it will provide the 3.3V to 5.0V logic shift I think you will need you will be paying for the high-power capability (which you do not need IIRC for WS2811 strips) with propagation delays that are likely to hurt the quite tight timing requirements to drive that type of strip with say the RPi_WS281x library.
Is there a particular reason you need to drive a NeoPixel strip with L293D? It is a high voltage/current H-bridge for driving highly inductive loads like a DC motor. Your application instead needs high precision in the time domain, assuming you power the strip with a dedicated DC supply (it can damage your RPi otherwise).
If you are not married to the chip but absolutely have to use an RPi, I'd suggest you grab an arduino (a nano would do just fine if you are pressed for space) and hook it up to your RPi (either as I2C backpack or usb Firmata) and save yourself a whole lot of headache, given that you have access to all the NeoPixel libraries for Arduino and don't need to worry about chip level timing.
Here is a decent how-to guide.