La vida es así.
No todo puede ingresarse en todos sitios.
Como en este caso: no tiene sentido usar un tabulador en un link, porque los links no llevan tabulaciones, y lo que se hace es complicar la vida.
Si los links no usan tabulaciones, entonces no los permitas, de eso mismo se trata.
El problema es que se quieren dar demasiadas libertados y posibilidades al usuario, y eso no debería pasar.
Si tu estás pidiendo un link, el contenido del campo DEBE ser un link. Si no lo es, pasan cosas como estas. Y si un usuario quiere introducir un tabulador en un link, entonces o quiere ver las vulnerabilidades del sitio, o no sabe nada en absoluto de lo que está haciendo.
Otra cosa es un campo de texto, si quieres mostrar tabulaciones en campos de texto puedes hacerlo, no hay nada de malo.
Pero filtra según lo que permitas. Puedes hacer un str_replace de \t por o algo por el estilo, pero no me gusta demasiado la idea.
La idea es que tú delimites lo que el usuario pueda hacer. No tener barreras está bien, pero siempre que puedas mantenerlo, y a veces intentar ser tan... "libre" puede salirte caro.
Busca siempre un por qué, no simplemente "por qué el usuario podría querer".
Me explico, en un sitio como PHPeros o donde se comparte código, va a ser necesario que tratemos las tabulaciones, pero si alguien va a escribir en un muro de Tuenti (por ejemplo) no tiene sentido usar tabulaciones. No están pensados para eso.
Aún asi, ya te digo, si quieres hacerlo puedes probar a sustituir \t por
Por cierto, ni siquiera PHPeros (SMF 2.0.1) permite los tabuladores en los mensajes. Si hacéis la prueba copiando y pegando desde el bloc de notas, por ejemplo, vais a ver que lo que hace es sustituir la tabulación por un montón de espacios en blanco, pero no es una tabulación en sí.
Un saludo
1.- Si es necesario... no voy a usar eso como los muros de tuenti, que para algo hago BBCode.
2.- PHPeros SÍ deja poner tabulaciones:
Prueba a seleccionar eso y verás.
3.- Yo quiero hacerlo posible porque en cualquier lado como por ejemplo Facebook, Twitter o cualquier sitio web popular. Ninguno te va a decir que no soporta ciertos caracteres, ya que todos admiten lo que pongas.
Es lo mismo que decir: "no soportamos caracteres raros, ni acentos ni nada". Eso no se puede decir, y hay que encontrar el modo de solucionar el problema, ya sea usando htmlentities() o especificando un charset apropiado.