[Trick] einen Link auf http:// prüfen
Posted: Thu Apr 15, 2010 8:51 am
Vielleicht kann es ja jemand gebrauchen! Denn die Smartydokumentation ist da lückenhaft und das Thema zu googlen ist garnicht so einfach.
Mein Problem war dass ich im Backend Felder habe, wo der Kunde einen Link einsetzen kann. Noch ist das kein Problem.
Die Ausgabe beim Template sieht in etwa so aus:
Doof ist nur wenn der Kunde mal die Links mit "http://" und mal ohne "http://" oder gar ohne "http://www" einsetzt. Soll es alles geben
. Drum habe ich das so gelöst:
Sieht natürlich ganzschön wirr aus aber das Wesentliche ist:
Also das http:// wird so oder so vorangestellt. Dann wird geprüft ob die Variable ein "http://" enthält. Wenn das der Fall ist, wir die Variable um 7 Zeichen (eben h t t p : / / ) gekürzt oder wenn es nicht vorhanden ist, direkt ausgegeben.
zwischen habe ich das genau so gemacht (nur ohne http://) da ich die Ausgabe einheitlich haben wollte. Der Optik wegen...
Bin kein php/smarty profi aber vielleicht gehts ja auch noch einfacher?!
Grüße
Mein Problem war dass ich im Backend Felder habe, wo der Kunde einen Link einsetzen kann. Noch ist das kein Problem.
Die Ausgabe beim Template sieht in etwa so aus:
Code: Select all
<a href="{entry->website}">{entry->website}</a>

Code: Select all
<a href="http://{if $entry->website|strstr:"http://"}{$entry->website|substr:7}{else}{$entry->website}{/if}" target="_blank">{if $entry->website|strstr:"http://"}{$entry->website|substr:7}{else}{$entry->website}{/if}</a>
Code: Select all
http://{if $entry->website|strstr:"http://"}{$entry->website|substr:7}{else}{$entry->website}{/if}
zwischen habe ich das genau so gemacht (nur ohne http://) da ich die Ausgabe einheitlich haben wollte. Der Optik wegen...
Bin kein php/smarty profi aber vielleicht gehts ja auch noch einfacher?!
Grüße