Domanda

Sto per permalink di configurazione su un sito web e mi chiedo che tipo di convenzioni devo seguire per quanto riguarda il loro generazione dalla tabella esistente di articoli di notizie.

Finora ecco le regole / passi che è venuta in mente:

  1. Creare un file di dump del mio database dal vivo, configurarlo localmente
  2. Aggiungi una nuova colonna 'permanente' al mio tavolo news_articles con ALTER table ADD column slug VARCHAR(100) (Non sono sicuro sul tipo di dati o la lunghezza, suggerimenti?)
  3. Aggiorna ogni riga nella mia tavola news_articles, in modo tale che

la colonna permalink di default è sostituito dal titolo, dopo il titolo passa attraverso alcuni elementi di formattazione:

  

Disclaimer: i titoli sono russi   Cirillico e non l'inglese quindi non lo faccio   credo di poter farla franca con un facile   la sostituzione regex, a meno che forse   contare su di codice Unicode gamme eccetto Sono   non hanno familiarità con la gamma del   caratteri cirillici così mi faranno manuale   sostituzione e le regole ho definito   finora sono:

  • sostituire tutti gli spazi con un trattino
  • togliere iniziali / finali virgole e punti
  • rimuovere tutte le virgolette singole / doppie
  • rimuovere tutti i punti di domanda
  • e diventa la parola russa per 'e'

Apprezzerei tutto il consiglio sul mio attuale strategia prima ho effettivamente eseguirlo, in quanto vi sono migliaia di articoli.

È stato utile?

Soluzione

Alcuni commenti / suggerimenti

  • sostituire tutti gli spazi con un trattino (come su hypen invece di sottolineatura, come i tag in SO)
  • togliere iniziali / finali virgole e punti (leader / spazi finali troppo)
  • rimuovere tutte le virgolette singole / doppie (partenza e quelle finali, se non sostituirli con trattini)
  • rimuovere tutti i punti di domanda (come sopra e tutti gli altri caratteri di punteggiatura come “” (sinistra / destra doppi apici) e simboli come% e = etc etc)
  • & diventa la parola russa per 'e' (Vuoi dire и? deve essere leggibile senza bisogno di codifica URL)

Aggiornamento:
* convertire tutti i caratteri in minuscolo (kinda soggettivo, ma è una pratica comune e più leggibile quindi tutto maiuscolo)

Un suggerimento più, questo è un trucco che ho usato per controllare se il mio percorso URL o slug non contengono qualsiasi stringa urlencoded. Dopo formulato la stringa slug, io eseguire un urlencode e confrontare con quello pre-codificato. Essi dovrebbero essere gli stessi.

Esempio di questo post, se la lumaca è accaduto di essere "permalink-slug:best-practices", il urlencoded sarà in "permalink-slug%3Abest-practices", non realmente leggibile e sconfigge lo scopo di lumaca, che si sa / d'accordo. Quindi è davvero facile sapere la stringa originale non funzionano perché è diverso dopo urlencoding.

Altri suggerimenti

Credo che il problema è che molti programmi non consentono unicode URL del ... Wikipedia utilizza questi caratteri nel testo .. nel browser in cui stanno bene, ma quando si invia il link diventano molto lunghi come ...

http://th.wikipedia.org/wiki/%E0%B8%AA%E0%B9%89%E0%B8%A7%E0 % B8% A1% E0% B9% 83% E0% B8% 99% E0% B8% 9B% E0% B8% A3% E0% B8% B0% E0% B9% 80% E0% B8% 97% E0% B8 % A8% E0% B9% 84% E0% B8% 97% E0% B8% A2

Credo che l'unica buona soluzione è convertire solo per A-Z alfabeto .. e altre lingue utilizzare un ID unico ..

Se qualcuno ha una buona soluzione per questo mi piacerebbe sentire su di esso:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top