-
Link als Link
Hallo zusammen,
nehmen wir mal den Fall das Redakteure News/Texte einfach nur in die Artikel kopieren und somit ein Link mit in diesen Artikel/News kommt, dann wird er auf der Webseite nur als Text angezeigt und nicht als Link.
Gibt es einen Trick oder Funktion, wie sowas abgefangen werden kann, so das der Link auch als Link aktiv ist?
Habe schon im alten und neuen Forum gesucht aber nichts gefunden.
Gruß
Oliver
-
du kannst mittels PHP im Template das geschriebene untersuchen und gegebenfalls durch einen Link ersetzen ich mach das, allerdings nicht bei typolight sondern in einer anderen Anwendung. Der Codeschnippsel sieht so aus:
PHP-Code:
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $this->text;
-
Nimmt der TinyMCE nicht den Link und die Formatierung automatisch mit?
Zumindest aus MSWord kopierte Texte sollten Links und Formatierungen erstmal mitnehmen, soweit ich weiß.
-
So eine Funktion habe ich auch schon gesucht. TinyMCE nimmt Links und andere Formatierungen aus Word und OpenOffice mit, aber oft will man ja gerade eben diese Formatierungen nicht.
Ich arbeite viel mit der CSV-Import-Funktion des Tabellenmoduls, und nicht nur deshalb kommt viel Nurtext in die Webseite. In den CSV-Tabellen befinden sich mitunter etliche E-Mails und Webadressen, die eigentlich zu Links werden sollten. Es bleibt aber auch hier bei Nurtext. Ich habe keine Erweiterung gefunden, die die Konvertierung übernimmt und bin daher hier gelandet.
@schman: Wo könnte ich dieses Codeschnipsel einbauen in der tpl-Datei?
Danke für die Hilfe, Michael.
-
ja die könntest du in der tpl Datei des outputs einfügen
-
Baue ich
PHP-Code:
<?php
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $this->text;
?>
in das Template ein (head-bereich oder body), bekomme ich nut mehr eine weiße Seite ...
Was mach ich da falsch, oder geht das in TL nicht?
-
Die schliessende Klammer ")" fehlt ;)
-
PHP-Code:
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $this->text;
Loest in PHP 5.3 eine DEPRECATED Warnung aus, also lieber "preg_replace" verwenden.
PHP-Code:
preg_replace('#([[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/])#si', '<a href="$1">$1</a>', $this->text);
die regex laesst sich btw. ziemlich sicher noch verbessern bzw. verfeinern und ist obendrein von mir ungetestet.
Gruss
Chris
-
Klappt alles bei mir nicht; entweder ich bekomme eine weiße Seite oder der Code wird direkt angezeigt ohne weitere Wirkung. Könntet ihr mir genauer sagen, wie und wo ich im Template den Code einbauen kann? Danke vielmals und schönen Tag + Sonne!
Michael
-
Da ich nicht weiss von welchem Template du sprichst und ich oben das RegEx nur korrigiert habe um PHP5.3 kompatibel zu sein weiss ich nicht ob ich dir helfen kann.
Auf jeden Fall musst du logischerweise noch ein "echo" vor die Zeile schreiben.
Wie die jeweilige Variable im Template heisst musst du selbst nachsehen.
Ich vermute ce_text sollte das sein, welches du suchst.
-
Hallo xtra! Danke für die Antwort! Also ich habe nur eine Kombination aus tpl und css, ein Standardtemplate. Dort habe ich probiert, den Code einzufügen; leider immer noch ohne Erfolge mangels Wissens.
PHP-Code:
<?php
echo preg_replace('#([[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/])#si', '<a href="$1">$1</a>', $this->text); )
?>
im Header des Templates oder im Inhalts-div ergibt jedenfalls eine weiße Seite.
Mit http://php.net/manual/de/function.preg-replace.php komm ich auch irgendwie nicht weiter ...
lg Michael