Ich suche sowas für TYPO3 6.2:
$parseHTML = t3lib_div::makeInstance('t3lib_parsehtml_proc');
$value = $parseHTML->TS_links_rte($value);
Ich habe keine Ahnung, wie man das unter TYPO3 6.2 löst.
Es soll also aus <link file:5637 _blank download \"Leitet Herunterladen der Datei ein\">hier<\/link>
ein normaler Link werden.
Das funktioniert mit RteHtmlParser:
$parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Html\\RteHtmlParser');
$value = $parseObj->TS_links_rte($value);
http://api.typo3.org/typo3cms/62/html/class_t_y_p_o3_1_1_c_m_s_1_1_core_1_1_html_1_1_rte_html_parser.html
OK, vielen Dank, da war ich schon mal nah dran gewesen bei meinen Versuchen.
Die Lösung funktioniert leider nur teilweise.
Aus <link file:5637 _blank download \"Leitet Herunterladen der Datei ein\">hier<\/link>
wird damit <a href="http://www.soundso.de/?file:5637" class="download" title="Leitet Herunterladen der Datei ein">hier</a>.
Das alleine reicht leider noch nicht...
... was müsste man sonst noch machen?
Keine gute Lösung, aber was soll man machen?
preg_match_all("/\?file:(\d+)/", $note, $files);
$file_names = array();
if (is_array($files[1])) {
foreach ($files[1] as $file_uid) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid, identifier',
'sys_file',
'uid = ' . $file_uid);
$rows = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
if ($rows>0) {
while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
$file_names[$row['uid']] = $row['identifier'];
}
}
$GLOBALS['TYPO3_DB']->sql_free_result($res);
}
foreach ($files[1] as $file_key => $file_uid) {
$note = str_replace($files[0][$file_key], 'fileadmin' . $file_names[$file_uid], $note);
}
}
Versuch es mal mit der TS_links_db() Funktion:
$value = $parseObj->TS_links_db($value);