Nybörjarfråga: url i textflöde

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1

Eftersom jag inte lyckats hitta något svar via en halv dags Googlande kanske jag tänkter fel men här är frågan:

Man skall (?) ju som bekant separera innehåll från presentation.

Låt säga att jag har en databas och en mängd texter. Dessa texter innehåller i sin tur några länkar - inne i textflödet.

I allmänhet så vill jag förmodligen generera html till dessa texter men eftersom jag separerar innehåll från presentation så finns ingen html-kod i min databas.

Hur representerar jag i så fall dessa länkar i databasen? De akn ju inte ligga i egna fält eftersom de är en del av textflödet.

De består ju av både en del som normalt skall synas (länkens namn) och en del som normalt inte skall synas (länkadressen). Den kan ju inte representeras av ren text men inte heller av html eftersom jag ju då blandar innehåll och presentation.

  • Medlem
  • Stockholm
  • 2009-10-21 10:13

Du borde kunna göra en GREP sök/ersätt för att hitta weblänken och sen generera en URL tag runt den. Om du kör PHP så ska det inte vara några problem att göra detta.

Janne

Vad är det för databas? Vad är det för länkar? Hur ser en länk ut? Hur visar du upp informationen från databasen? PHP som skjuter ut statisk html, eller som gör sökningar och visar? Har du ett CMS?

I allmänhet: Om du lagrar text i en databas som skall konverteras till HTML så bör du inte i det läget blanda in en gnutta html i texten som en sorts undantag (dvs dina länkar). Dock kan du använda annan syntax som inte är HTML för att göra länkar i texten, som sedan konverteras till riktig HTML när den visas upp, tex av PHP, eller grep som föreslogs ovan.

Här i forumet skapar man länkar med syntaxen [ U R L = h t t p : / / wikipedia.org] Wikipedia [ / U R L ] tex (men utan alla mellanslag förstås. Så du skulle kunna söka (med PHP) efter starten och konvertera den till < A H R E F = " osv... och detsamma med slutet < / A >.

  • Medlem
  • Göteborg
  • 2009-12-03 15:21

Jag skulle säga det två konventionella lösningarna är att antingen lagra text i databasen som ren text (inga taggar) eller också som komplett html.
Som ovanstående postare skriver kan man även ta en mellanvariant, där man använder ett specialuttryck för att indentifiera länkar och visa dem som riktiga länkar i presentationen.
Man ska som TS säger separera innehåll från presentation (ännu bättre är MVC) för att få en site som går att underhålla.

En simpel lösning är att köra plaintext-data och låta ett regexp söka igenom texten vid presentation och ersätta alla strängar som börjar med "http://" med motsvarande länk.

Tack för svaren. Ungefär så jag har gjort; representerat url:en med en slags metatagg.

Men om man skall vara riktigt hardcorekorrekt i en relationell databas, hur gör man då egentligen? Såvitt jag kan se ligger det teoretiska problemet i att länkarna har sin relation till en specifik position i texten. Jag menar, det är ju inget problem att sätta en relation mellan en text och ett antal länkar, men som sagt, de skall ha en position också. Och för en text som skall kunna redigeras så är ju dessutom positionen flytande. Känns som det blir svårt att undvika "fullösningar" som den ovan nämnda med metataggar.

Men någon borde väl tänkt riktigt djupt i denna fråga?

1
Bevaka tråden