Zum Inhalt springen

<LINK... in <a href=

Erstellt am 29. September 2005 · 5 Antworten · letzte Antwort am 2. Oktober 2005

Tags: Frage

Foxpower ·

Servus,

ich muss ein DB-Feld auslesen und den dort gefundenen Inhalt parsen & rendern. Ich habe allerdings Probleme, die Funktion zu finden, mit der ich die Typolinks (<LINK...) in echte Links wandeln kann, also ganz simpel:

...
// $row[bodytext] => da sind die <LINK's drin
$content = WELCHE_FUNKTION_UND_WIE_GEHT_DAS($row[bodytext]);
// und nun sind's <a href's...
...

Wer hat die entsprechende Anweisung gerade parat, ich finde es einfach momentan nicht?

Danke

Foxpower ·

Hi,

äh, vielleicht haben wir uns falsch verstanden. Ich möchte keinen Link per pi_linkTP_keepPIvars o.ä. erzeugen, sondern einen Record in eine Variable einlesen und diese dann durch eine Funktion jagen, welche dann aus den Typoscript-Links echte Links macht. Also aus:

...accumsan et iusto odio<link 168> dignissim qui blandit</link> praesent luptatum...

wird

...accumsan et iusto odio <a href="/http://blah.fasel.de/unterseite">dignissim qui blandit</a> praesent luptatum...

Dafür suche ich die entsprechende Routine.

Danke schon mal

sprain ·

Hey Foxpower,
genau das gleiche Problem habe ich zur Zeit auch!

Ich will, dass in meiner Extension

<link 15>Text</link>

eingegeben werden kann, das durchs PHP jagen und dann kommt z.B.

<a href="index.php?id=15&nocache=1">Text</a>

raus ...

Wie macht man das?

Kann uns jemand helfen, bitte?
Danke!
sprain

TW ·

hab jetzt nicht im kopf wo die entsprechende funktion ist, aber man kann auch regular expressions nehmen...

function replace_link_tag($text=""){ 
	$pattern = "'<link (.*?)\>(.*?)<\/link>'si"; 
	$replace = "<a href=\"\\1\" target=blank>\\2</a>";
	$txt       = preg_replace($pattern, $replace,  $text); 
 
	return $txt;
}

aufgerufen durch

$replacedalink = $this->replace_link_tag($row['text']);

cu

Stoneage ·

im setup:

plugin.tx_superduperext_pi1 {

    # Rendering of rte fields. re-use the RTE parseFunc configuration for normal content

    # Adding <p> + Classes
    content_stdWrap.parseFunc < tt_content.text.20.parseFunc
    content_stdWrap.parseFunc.tags.link.typolink.ATagParams = class="default
}

in der ext:

$this->cObj->stdWrap($row['rte_text_feld'], $conf['content_stdWrap.'])