Соглашения о тегах - PullRequest
       12

Соглашения о тегах

2 голосов
/ 15 февраля 2010

В настоящее время я готовлю следующие препараты:

  1. Преобразовать в нижний регистр.
  2. Обрезать теги HTML.
  3. Проверить, если тег уже существует

Есть ли еще какие-то вещи, которые я рассматриваю?

примечание: Метки могут быть на арабском языке.

вот метод, который я использую

function sanitize_tag($tag){

//strip slashes
if(get_magic_quotes_gpc()) {
    $tag = stripslashes(trim($tag));
} 
//Remove white spaces
$tag = preg_replace('/\s\s+/',' ',$tag);
$tag = trim($tag);
$tag = ltrim($tag);
$tag=filter_var($tag, FILTER_SANITIZE_STRING);
return $tag;

}

Ответы [ 3 ]

0 голосов
/ 15 февраля 2010

Наличие всех тегов в нижнем регистре облегчит сохранение дубликатов, и, как пользователь, я считаю, что это хорошая функция ... Но это может не всегда нравиться вашим пользователям, например, если использовать имя в качестве тег.

Может быть, было бы лучше использовать регистр, который они напечатали при первом вводе тега?


Вставлять HTML-теги - это хорошо; Я также удалил бы пробелы (например, замените их тире) и другие символы, которые не очень хорошо смотрятся в URL, такие как кавычки, косые черты, ударения ("éàèç", .. .) , знаки пунктуации, ...


В любом случае, не забудьте экранировать теги, прежде чем вводить их в запросы SQL или в ваш вывод HTML; -)

0 голосов
/ 15 февраля 2010

Если вы собираетесь реализовать схему поиска тегов FULLTEXT (например, mysqlicious), убедитесь, что ваши теги не содержат разделителей слов.

Скажем, тире (-) - это разделитель слов в MySQL, а подчеркивание (_) - нет.

Так что поиск такой:

MATCH(tags) AGAINST ('+server' IN BOOLEAN MODE)

неверно вернет sql-server, но (правильно) не вернет sql_server.

0 голосов
/ 15 февраля 2010

Другая распространенная практика - заменить пробелы и пунктуация . Кроме того, я думаю, что у вас есть полный список подготовительных шагов для создания тега, готового для сайта.

Джефф и Джоэл недавно упомянули еще одну интересную практику во время подкаста Stack Overflow # 79 , касающегося тегов. Обсуждая MathOverflow (MO), они поняли, что MO использует настройку аббревиатуры тегов, где к каждому тегу добавляется его сокращенная версия:

Вместо того, чтобы иметь тег statistics, они имеют st.statistics. Это позволяет быстро искать все вопросы «статистики», вводя «st.» в отличие от скупой «статистики», которая была бы кандидатом на частичное совпадение, возвращая такие элементы, как «статистика населения» и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...