Si, ni los CMS ni los frameworks son lo mio.Pero borrando los whitespaces "borro" lo que el usuario puso... si tu por ejemplo entras a Facebook, pongas lo que pongas, queda ahí, como lo pusiste. No quiero ser como otras webs que dicen "no pueden usar X caracter por seguridad".
Por eso me complico tanto la vida, porque quiero que quede bien, y que no sea otro script más de los que no admiten ciertos caracteres.
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