populares - twitter hashtag trending
¿Qué personajes están permitidos en los hashtags de twitter? (5)
Bueno, para empezar, no puedes usar un # en el hashtag (## hash).
Las siguientes pautas se citan en el centro de ayuda de Twitter :
- Las personas usan el símbolo del hashtag # antes de una palabra clave o frase relevante (sin espacios) en su Tweet para clasificar esos Tweets y ayudarlos a mostrarse más fácilmente en la Búsqueda de Twitter.
- Al hacer clic en una palabra con etiqueta hashtag en cualquier mensaje, se muestran todos los otros tweets marcados con esa palabra clave.
- Los hashtags pueden aparecer en cualquier parte del Tweet, al principio, a la mitad o al final.
- Las palabras en hashtag que se vuelven muy populares a menudo son temas de tendencias.
Ejemplo: En el Tweet a continuación, @eddie incluyó el hashtag #FF. Los usuarios crearon esto como una taquigrafía para "Seguir el viernes", una tradición semanal en la que los usuarios recomiendan a las personas que otros deberían seguir en Twitter. Lo verás los viernes.Usando los hashtags correctamente:
- Si tuiteas con un hashtag en una cuenta pública, cualquier persona que haga una búsqueda de ese hashtag puede encontrar tu Tweet
- No #spam #con #hashtags. No sobre-etiquetar un solo Tweet. (Las mejores prácticas recomiendan el uso de no más de 2 hashtags por Tweet).
- Use hashtags solo en Tweets relevantes para el tema.
Al desarrollar una aplicación iOS que contenga un cliente de Twitter, debo permitir los hashtags generados por el usuario (que pueden crearse en cualquier otro lugar dentro de la aplicación, no solo en el cuerpo del tweet).
Me gustaría asegurarme de que dichos hashtags sean válidos para Twitter, por lo que me gustaría verificar el valor ingresado en busca de caracteres no válidos. Tenga en cuenta que los usuarios pueden ser de países que no hablan inglés.
Soy consciente de las limitaciones habituales, como no comenzar con un hashtag con un número y sin caracteres de puntuación especiales, pero me preguntaba si existe una lista conocida de todos los caracteres adicionales técnicamente permitidos dentro de los hashtags (es decir, caracteres internacionales).
Karl, como bien ha señalado, cualquier palabra en cualquier idioma puede ser un hashtag de twitter válido (siempre que cumpla con una serie de criterios básicos). Como tal, lo que solicita es una lista de caracteres de palabras internacionales válidos. Estoy seguro de que alguien ha compilado esa lista en algún lugar, pero usarla no sería el enfoque más eficiente para alcanzar lo que parece ser tu objetivo inicial: asegurarte de que un hashtag determinado sea válido para Twitter.
Creo que lo que estás buscando es una expresión regular que pueda coincidir con todos los caracteres de las palabras dentro de un rango Unicode . Dicha expresión no dependería de su localidad y coincidiría con todos los caracteres de la tipografía moderna que pueden aparecer como parte de una palabra.
No especificó en qué idioma está escribiendo su aplicación, así que no puedo ayudarlo con una implementación específica del idioma. Sin embargo, el enfoque básico sería el siguiente:
Verifique si alguna de las expresiones de corchete o clases de caracteres ya son compatibles con los rangos de caracteres Unicode en su idioma. Si es así, entonces úsalos.
Compruebe si hay un modificador de expresiones regulares que pueda habilitar el soporte de rango de caracteres Unicode para su idioma.
La mayoría de los lenguajes modernos implementan expresiones regulares de una manera bastante similar y muchos de ellos se prestan en gran medida de Perl, por lo que espero que los siguientes dos ejemplos lo pongan en el camino correcto:
Perl:
Use expresiones de corchete POSIX (por ejemplo: [[:alpha:]]
, [[:allnum:]]
, [[:digit:]]
, etc.) ya que le dan un mayor control sobre los caracteres que desea comparar, en comparación con el carácter clases (por ejemplo: /w
).
Use el modificador /u
para habilitar el soporte de Unicode cuando coincida con el patrón. Bajo este modificador, la plataforma ASCII se convierte efectivamente en una plataforma Unicode; y por lo tanto, por ejemplo, /w
coincidirá con cualquiera de los más de 100,000 caracteres de palabra en Unicode.
Ver la documentación de Perl para más información:
- http://perldoc.perl.org/perlre.html#Character-set-modifiers
- http://perldoc.perl.org/perlrecharclass.html#POSIX-Character-Classes
Rubí:
Use expresiones de corchete POSIX ya que abarcan caracteres no ASCII. Por ejemplo, / / d / coincide solo con los dígitos decimales ASCII (0-9); Considerando que / [[: digit:]] / coincide con cualquier carácter en la categoría Unicode Nd.
Vea la documentación de Ruby para más información:
Ejemplos:
Dada una lista de hashtags, la siguiente expresión regular coincidirá con todos los hashtags que comienzan con un carácter de palabra (incluyendo caracteres de palabra internacionales) y están seguidas de otro carácter de palabra, un número o un guión bajo:
m/^#[[:alpha:]][[:alnum:]_]+$/u # Perl
/^#[[:alpha:]][[:alnum:]_]+$/ # Ruby
Solo las letras y los números pueden formar parte de un hashtag. Si un carácter distinto de estos sigue el #
y el encabezado o una letra, el hashtag se cortará en este punto.
Recomendaría que su interfaz de usuario lo indique al usuario cambiando el color del texto del campo de entrada si el usuario ingresa algo que no sea una letra o un número.
Tuve el mismo problema para implementar en Golang. Parece que los caracteres permitidos con [[: alpha:]] solo son de alfabeto inglés y no pudieron usar esta sintaxis para otros caracteres de idiomas. En su lugar, podría usar / p {L} para este propósito.
Mi prueba con / p {L} está here . * Árabe, hebreo, hindi ... etc no está confirmado todavía.
Twitter permite letras, números y guiones bajos.
Lo comprobé generando tweets a través de su API. Por ejemplo, tuiteando.
Hash tag test #foo [bar
dio como resultado que "#foo" se marcara como una etiqueta hash, y que "[barra" no fuera un formato de texto.