<a> Tag wird bei der Ausgabe gelöscht [Gelöst]


  • 0 x
    20. 05. 2006, 10:43

    hi,

    vorab, dass passiert nur bei meiner eigenen Extension und seit Update auf
    TYPO3 4.0 (also mit dem htmlarea rte).

    ich geb ganz normal text in den RTE ein, mache daraus ein Link und speichere
    des ganze ganz normal ab. Betrachte ich nun diesen Datensatz im FE wird
    kein Link angezeigt. Im Quelltext der Website wurde der <a> Tag gelöscht.

    Öffne ich den Datensatz zum Bearbeiten im BE wird mir der Link angezeigt,
    klicke ich dann auf Quelltextansicht steht der gesamte Link (also der <a> Tag)
    korrekt im Quelltext drin.

    Das Löschen des Links (was auch mit Emailaddressen geschieht) muss also beim
    Parsen ins FE passieren.

    Der RTE ist nach dem [url=http://www.typo3.net/forum/list/list_post//39948/]HOWTO[/url] hier im Forum konfiguriert, mit leichten Anpassungen,
    die jedoch nichts damit zu tun haben, da sämtliche Textformatierungen wie z.B. Farbe,
    Größe, Absätze übernommen werden.

    Mit dem alten RTE hatte ich das problem noch nicht. An meiner extension kanns also
    nicht liegen (oder etwa doch?)

    Woran könnte das liegen ???

    danke schonmal für konstrukive antworten :)

  • Footballschlumpf Footballs...
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    14. 07. 2006, 12:56 - Lösung

    Eine genauere Erklärung wäre prima!!!

    Michael


  • 1

  • 0 x
    20. 05. 2006, 14:04

    habe nun herausgefunden, dass in der Datenbank meine Links aus meiner Extension in <link ...> ... </link> umgewandelt werden. das komische daran ist auch, dass die Links im RTE als HTML-Link angezeigt werden ?!

    Links die in der Tabelle "tt_content" liegen, stehen als normaler html-link drin, also <a href="..."> ... </a>

    wie kann ich das so machen, dass alle links als HTML-Link übernommen werden???


  • 0 x
    20. 05. 2006, 18:06

    hab den fehler endlich doch noch selber beheben können! :)

    es lag daran, dass der Content auf dem Weg vom RTE zur Datenbank geparst wurde,
    jedoch nicht rückwerts. In der DB stand also ein <link /> Link, was jedoch in der
    HTML Ausgabe keinen Sinn macht.

    Hab den Content also durch die [b]t3lib_parsehtml_proc->TS_links_rte[/b] Klasse
    gejagt und siehe da, es funktioniert alles wieder :)

  • 0 x
    16 Beiträge
    0 Hilfreiche Beiträge
    29. 06. 2006, 14:03

    Hi!

    Kannst du den Satz "Hab den Content also durch die t3lib_parsehtml_proc->TS_links_rte Klasse
    gejagt ..." geanuer erläutern? Ich habe auch das Problem und mit deinem Tip scheint es ja gelöst.

    Gruss, Jörg

  • Footballschlumpf Footballs...
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    14. 07. 2006, 12:56

    Eine genauere Erklärung wäre prima!!!

    Michael

  • texasfrank texasfran...
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    24. 07. 2006, 18:53

    Ja, da wär ich auch SEHR dankbar!

  • 0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    27. 07. 2006, 13:07

    Ich habe die function getItemMarkerArray in der pi/class.ttnews.php geändert, wie ich vermute, dass es hier gemeint war. Keine Ahnung, ob das elegant ist, oder eigentlich völliger Mumpitz, aber es funktioniert.

    1. /**
    2. * Fills in the markerArray with data for a news item
    3. *
    4. * @param array $row : result row for a news item
    5. * @param array $textRenderObj : conf vars for the current template
    6. * @return array $markerArray: filled marker array
    7. */
    8. function getItemMarkerArray ($row, $textRenderObj = 'displaySingle') {
    9. // get config for current template part:
    10. $lConf = $this->conf[$textRenderObj . '.'];
    11. $this->local_cObj->start($row, 'tt_news');
    12.  
    13. $markerArray = array();
    14. // get image markers
    15. $markerArray = $this->getImageMarkers($markerArray, $row, $lConf, $textRenderObj);
    16.  
    17. // find categories for the current record
    18. if (!is_array($this->categories[$row['uid']])) {
    19. $this->categories[$row['uid']] = $this->getCategories($row['uid']);
    20. }
    21.  
    22. $markerArray['###NEWS_CATEGORY_ROOTLINE###'] = '';
    23. if ($this->conf['catRootline.']['showCatRootline'] && $textRenderObj == 'displaySingle') {
    24. $markerArray['###NEWS_CATEGORY_ROOTLINE###'] = $this->getCategoryPath($this->categories[$row['uid']]);
    25. }
    26.  
    27. // get markers and links for categories
    28. $markerArray = $this->getCatMarkerArray($markerArray, $row, $lConf);
    29.  
    30. $markerArray['###NEWS_UID###'] = $row['uid'];
    31. // show language label and/or flag
    32. $markerArray['###NEWS_LANGUAGE###'] = '';
    33. if ($this->conf['showLangLabels']) {
    34. $L_uid = $row['sys_language_uid'];
    35. $markerArray['###NEWS_LANGUAGE###'] = $this->langArr[$L_uid]['title'];
    36. }
    37.  
    38. if ($this->langArr[$L_uid]['flag'] && $this->conf['showFlags']) {
    39. $fImgFile = ($this->conf['flagPath']?$this->conf['flagPath']:'media/uploads/flag_') . $this->langArr[$L_uid]['flag'];
    40. $fImgConf = $this->conf['flagImage.'];
    41. $fImgConf['file'] = $fImgFile;
    42. $flagImg = $this->local_cObj->IMAGE($fImgConf);
    43. // debug ($fImgConf);
    44. $markerArray['###NEWS_LANGUAGE###'] .= $flagImg;
    45. }
    46.  
    47. $markerArray['###NEWS_TITLE###'] = $this->local_cObj->stdWrap($row['title'], $lConf['title_stdWrap.']);
    48.  
    49. $newsAuthor = $this->local_cObj->stdWrap($row['author']?$this->pi_getLL('preAuthor').' '.$row['author']:'', $lConf['author_stdWrap.']);
    50. $markerArray['###NEWS_AUTHOR###'] = $this->formatStr($newsAuthor);
    51. $markerArray['###NEWS_EMAIL###'] = $this->local_cObj->stdWrap($row['author_email'], $lConf['email_stdWrap.']);
    52. $markerArray['###NEWS_DATE###'] = $this->local_cObj->stdWrap($row['datetime'], $lConf['date_stdWrap.']);
    53. $markerArray['###NEWS_TIME###'] = $this->local_cObj->stdWrap($row['datetime'], $lConf['time_stdWrap.']);
    54. $markerArray['###NEWS_AGE###'] = $this->local_cObj->stdWrap($row['datetime'], $lConf['age_stdWrap.']);
    55. $markerArray['###TEXT_NEWS_AGE###'] = $this->local_cObj->stdWrap($this->pi_getLL('textNewsAge'), $lConf['textNewsAge_stdWrap.']);
    56.  
    57. if ($this->config['croppingLenght']) {
    58. $lConf['subheader_stdWrap.']['crop'] = $this->config['croppingLenght'];
    59. }
    60. $markerArray['###NEWS_SUBHEADER###'] = '';
    61. if (!$this->piVars[$this->config['singleViewPointerName']] || $this->conf['subheaderOnAllSViewPages']) {
    62. $markerArray['###NEWS_SUBHEADER###'] = $this->formatStr($this->local_cObj->stdWrap($row['short'], $lConf['subheader_stdWrap.']));
    63. }
    64.  
    65. $markerArray['###NEWS_KEYWORDS###'] = $this->local_cObj->stdWrap($row['keywords'], $lConf['keywords_stdWrap.']);
    66.  
    67. if (!$this->piVars[$this->config['singleViewPointerName']]) {
    68. if ($textRenderObj == 'displaySingle') {
    69. // load the keywords the register 'newsKeywords' to access it from TS
    70. $this->local_cObj->LOAD_REGISTER(array(
    71. 'newsKeywords' => $row['keywords'],
    72. 'newsSubheader' => $row['short']
    73. ), '');
    74. }
    75. }
    76.  
    77. if ($textRenderObj == 'displaySingle' && !$row['no_auto_pb'] && $this->config['maxWordsInSingleView']>1) {
    78. $row['bodytext'] = $this->insertPagebreaks($row['bodytext'],count(t3lib_div::trimExplode(' ',$row['short'],1)));
    79. }
    80. if (strpos($row['bodytext'],$this->config['pageBreakToken'])) {
    81. if ($this->config['useMultiPageSingleView'] && $textRenderObj == 'displaySingle') {
    82. $tmp = $this->makeMultiPageSView($row['bodytext'],$lConf);
    83. $newscontent = $tmp[0];
    84. $sViewPagebrowser = $tmp[1];
    85. } else {
    86. $newscontent = $this->formatStr($this->local_cObj->stdWrap(preg_replace('/'.$this->config['pageBreakToken'].'/','',$row['bodytext']), $lConf['content_stdWrap.']));
    87. }
    88. } else {
    89. $newscontent = $this->formatStr($this->local_cObj->stdWrap($row['bodytext'], $lConf['content_stdWrap.']));
    90. }
    91. if ($this->conf['appendSViewPBtoContent']) {
    92. $newscontent = $newscontent.$sViewPagebrowser;
    93. $sViewPagebrowser = '';
    94. }
    95. require_once( PATH_t3lib."class.t3lib_parsehtml_proc.php" );
    96. $k_parser = new t3lib_parsehtml_proc();
    97. $newscontent = $k_parser->TS_links_rte( $newscontent );
    98. $markerArray['###NEWS_CONTENT###'] = $k_parser->TS_transform_rte( $newscontent );
    99. $markerArray['###NEWS_SINGLE_PAGEBROWSER###'] = $sViewPagebrowser;
    100.  
    101.  
    102. $markerArray['###MORE###'] = $this->pi_getLL('more');
    103. // get title (or its language overlay) of the page where the backLink points to (this is done only in single view)
    104. if ($this->config['backPid'] && $textRenderObj == 'displaySingle') {
    105. if ($GLOBALS['TSFE']->sys_language_content) {
    106.  
    107. $p_res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
    108. '*',
    109. 'pages_language_overlay',
    110. '1=1 AND pid=' . $this->config['backPid'] . ' AND sys_language_uid=' . $GLOBALS['TSFE']->sys_language_content);
    111.  
    112. $backP = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($p_res);
    113. } else {
    114. $backP = $this->pi_getRecord('pages', $this->config['backPid']);
    115. }
    116. }
    117. // generate the string for the backLink. By setting the conf-parameter 'hscBackLink',
    118. // you can switch whether the string is parsed through htmlspecialchars() or not.
    119. $markerArray['###BACK_TO_LIST###'] = sprintf($this->pi_getLL('backToList', '', $this->conf['hscBackLink']), $backP['title']);
    120. // get related news
    121. if ($textRenderObj == 'displaySingle' || $this->conf['alwaysShowRelated']) {
    122. $relatedNews = $this->getRelated($row['uid']);
    123. }
    124. $markerArray['###TEXT_RELATED###'] = '';
    125. $markerArray['###NEWS_RELATED###'] = '';
    126. if ($relatedNews) {
    127. $rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['related_stdWrap.']['wrap']);
    128. $markerArray['###TEXT_RELATED###'] = $rel_stdWrap[0].$this->local_cObj->stdWrap($this->pi_getLL('textRelated'), $this->conf['relatedHeader_stdWrap.']);
    129.  
    130. $markerArray['###NEWS_RELATED###'] = $relatedNews.$rel_stdWrap[1];
    131. }
    132.  
    133. // Links
    134. $markerArray['###TEXT_LINKS###'] = '';
    135. $markerArray['###NEWS_LINKS###'] = '';
    136. if ($row['links']) {
    137. $links_stdWrap = t3lib_div::trimExplode('|', $lConf['links_stdWrap.']['wrap']);
    138. $newsLinks = $this->local_cObj->stdWrap($this->formatStr($row['links']), $lConf['linksItem_stdWrap.']);
    139. $markerArray['###TEXT_LINKS###'] = $links_stdWrap[0].$this->local_cObj->stdWrap($this->pi_getLL('textLinks'), $lConf['linksHeader_stdWrap.']);
    140. $markerArray['###NEWS_LINKS###'] = $newsLinks.$links_stdWrap[1];
    141. }
    142.  
    143. // filelinks
    144. $markerArray['###TEXT_FILES###'] = '';
    145. $markerArray['###FILE_LINK###'] = '';
    146. if ($row['news_files']) {
    147. $files_stdWrap = t3lib_div::trimExplode('|', $this->conf['newsFiles_stdWrap.']['wrap']);
    148. $markerArray['###TEXT_FILES###'] = $files_stdWrap[0].$this->local_cObj->stdWrap($this->pi_getLL('textFiles'), $this->conf['newsFilesHeader_stdWrap.']);
    149. $fileArr = explode(',', $row['news_files']);
    150. $files = '';
    151. while (list(, $val) = each($fileArr)) {
    152. // fills the marker ###FILE_LINK### with the links to the atached files
    153. $filelinks .= $this->local_cObj->filelink($val, $this->conf['newsFiles.']) ;
    154. }
    155. $markerArray['###FILE_LINK###'] = $filelinks.$files_stdWrap[1];
    156. }
    157.  
    158. // show news with the same categories in SINGLE view
    159. if ($textRenderObj == 'displaySingle' && $this->conf['showRelatedNewsByCategory'] && count($this->categories[$row['uid']])) {
    160.  
    161. // save some variables which are used to build the backLonk to the list view
    162. $tmpcatExclusive = $this->catExclusive;
    163. $tmpcode = $this->theCode;
    164. $tmpBrowsePage = $this->piVars['pointer'];
    165. unset($this->piVars['pointer']);
    166. $tmpPS = $this->piVars['pS'];
    167. unset($this->piVars['pS']);
    168. $tmpPL = $this->piVars['pL'];
    169. unset($this->piVars['pL']);
    170.  
    171. if(is_array($this->categories[$row['uid']])) {
    172. $this->catExclusive = implode(array_keys($this->categories[$row['uid']]),',');
    173. }
    174.  
    175. $this->config['categoryMode'] = 1;
    176. $this->theCode = 'LIST';
    177. $relNewsByCat = trim($this->displayList($row['uid']));
    178.  
    179. // restore variables
    180. $this->theCode = $tmpcode;
    181. $this->catExclusive = $tmpcatExclusive;
    182. $this->piVars['pointer'] = $tmpBrowsePage;
    183. $this->piVars['pS'] = $tmpPS;
    184. $this->piVars['pL'] = $tmpPL;
    185.  
    186. }
    187.  
    188. $markerArray['###NEWS_RELATEDBYCATEGORY###'] = '';
    189. $markerArray['###TEXT_RELATEDBYCATEGORY###'] = '';
    190. if ($this->conf['showRelatedNewsByCategory'] && $relNewsByCat) {
    191. $cat_rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['relatedByCategory_stdWrap.']['wrap']);
    192. $markerArray['###TEXT_RELATEDBYCATEGORY###'] = $cat_rel_stdWrap[0].$this->local_cObj->stdWrap($this->pi_getLL('textRelatedByCategory'), $this->conf['relatedByCategoryHeader_stdWrap.']);
    193. $markerArray['###NEWS_RELATEDBYCATEGORY###'] = $relNewsByCat.$cat_rel_stdWrap[1];
    194. }
    195.  
    196. // the both markers: ###ADDINFO_WRAP_B### and ###ADDINFO_WRAP_E### are only inserted, if there are any files, related news or links
    197. $markerArray['###ADDINFO_WRAP_B###'] = '';
    198. $markerArray['###ADDINFO_WRAP_E###'] = '';
    199. if ($relatedNews || $row['links'] || $row['news_files'] || $relNewsByCat) {
    200. $addInfo_stdWrap = t3lib_div::trimExplode('|', $lConf['addInfo_stdWrap.']['wrap']);
    201. $markerArray['###ADDINFO_WRAP_B###'] = $addInfo_stdWrap[0];
    202. $markerArray['###ADDINFO_WRAP_E###'] = $addInfo_stdWrap[1];
    203. }
    204.  
    205.  
    206.  
    207. // Page fields:
    208. $markerArray['###PAGE_UID###'] = $row['pid'];
    209. $markerArray['###PAGE_TITLE###'] = $this->pageArray[$row['pid']]['title'];
    210. $markerArray['###PAGE_AUTHOR###'] = $this->local_cObj->stdWrap($this->pageArray[$row['pid']]['author'], $lConf['author_stdWrap.']);
    211. $markerArray['###PAGE_AUTHOR_EMAIL###'] = $this->local_cObj->stdWrap($this->pageArray[$row['pid']]['author_email'], $lConf['email_stdWrap.']);
    212. // XML
    213. if ($this->theCode == 'XML') {
    214. $markerArray['###NEWS_TITLE###'] = $this->cleanXML($this->local_cObj->stdWrap($row['title'], $lConf['title_stdWrap.']));
    215. $markerArray['###NEWS_AUTHOR###'] = $row['author_email']?'<author>'.$row['author_email'].'</author>':'';
    216. if($this->conf['displayXML.']['xmlFormat'] == 'atom03' ||
    217. $this->conf['displayXML.']['xmlFormat'] == 'atom1') {
    218. $markerArray['###NEWS_AUTHOR###'] = $row['author'];
    219. }
    220.  
    221. if($this->conf['displayXML.']['xmlFormat'] == 'rss2' ||
    222. $this->conf['displayXML.']['xmlFormat'] == 'rss091') {
    223. $markerArray['###NEWS_SUBHEADER###'] = $this->cleanXML($this->local_cObj->stdWrap($row['short'], $lConf['subheader_stdWrap.']));
    224. } elseif ($this->conf['displayXML.']['xmlFormat'] == 'atom03' ||
    225. $this->conf['displayXML.']['xmlFormat'] == 'atom1') {
    226. //html doesn't need to be striped off in atom feeds
    227. $lConf['subheader_stdWrap.']['stripHtml'] = 0;
    228. $markerArray['###NEWS_SUBHEADER###'] = $this->local_cObj->stdWrap($row['short'], $lConf['subheader_stdWrap.']);
    229. //just removing some whitespace to ease atom feed building
    230. $markerArray['###NEWS_SUBHEADER###'] = str_replace('\n', '', $markerArray['###NEWS_SUBHEADER###']);
    231. $markerArray['###NEWS_SUBHEADER###'] = str_replace('\r', '', $markerArray['###NEWS_SUBHEADER###']);
    232. }
    233.  
    234. if($this->conf['displayXML.']['xmlFormat'] == 'rss2' ||
    235. $this->conf['displayXML.']['xmlFormat'] == 'rss091') {
    236. $markerArray['###NEWS_DATE###'] = date('D, d M Y H:i:s O', $row['datetime']);
    237. } elseif ($this->conf['displayXML.']['xmlFormat'] == 'atom03' ||
    238. $this->conf['displayXML.']['xmlFormat'] == 'atom1') {
    239. $markerArray['###NEWS_DATE###'] = $this->getW3cDate($row['datetime']);
    240. }
    241. //dates for atom03
    242. $markerArray['###NEWS_CREATED###'] = $this->getW3cDate($row['crdate']);
    243. $markerArray['###NEWS_MODIFIED###'] = $this->getW3cDate($row['tstamp']);
    244.  
    245. if($this->conf['displayXML.']['xmlFormat'] == 'atom03' && !empty($this->conf['displayXML.']['xmlLang'])) {
    246. $markerArray['###SITE_LANG###'] = ' xml:lang="'.$this->conf['displayXML.']['xmlLang'].'"';
    247. }
    248.  
    249. $markerArray['###NEWS_ATOM_ENTRY_ID###'] = 'tag:'.substr($this->config['siteUrl'], 11, -1).','.date('Y', $row['crdate']).':article'.$row['uid'];
    250. $markerArray['###SITE_LINK###'] = $this->config['siteUrl'];
    251.  
    252. }
    253.  
    254. // Adds hook for processing of extra item markers
    255. if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraItemMarkerHook'])) {
    256. foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraItemMarkerHook'] as $_classRef) {
    257. $_procObj = & t3lib_div::getUserObj($_classRef);
    258. $markerArray = $_procObj->extraItemMarkerProcessor($markerArray, $row, $lConf, $this);
    259. }
    260. }
    261. // Pass to user defined function
    262. if ($this->conf['itemMarkerArrayFunc']) {
    263. $markerArray = $this->userProcess('itemMarkerArrayFunc', $markerArray);
    264. }
    265.  
    266. return $markerArray;
    267. }

    Geändert sind nur die Zeilen 95-98. Vieleicht hilfts ja jemandem.

    Gruß, Karsten


  • 0 x
    04. 08. 2006, 15:35

    Hi,

    tut mir leid, leider war ich ne zeit lang nicht in der lage hier reinzuschauen
    und erst jetzt eure post lesen können.

    Nun zur Beschreibung meines Lösungsweges:

    noch etwas generelles:
    Wenn ihr mit TYPO3 arbeitet und eigene Extensions programmiert, sollte man
    zumindest einen groben Überblick über die TYPO3-Klassen haben um sauber
    programmieren und Probleme beheben zu können.

    Wie gesagt, geht es darum, dass bei der Ausgabe von Daten die "<a>" Tags
    gelöscht wurden (wieso auch immer). Ich möchte jetzt nicht die gesamte
    [b]t3lib_pasrehtml_proc[/b] Klasse erklären müssen, werft einfach mal n Blick
    rein, lest die mannuals zu dieser Klasse und werdet euch über die Funktionen
    dieser Klasse bewusst.

    Meistens reicht es auch die Comments in den PHP Dateien zu lesen ;)
    [i](zu finden unter typo3_src-XXX\t3lib\class.t3lib_parsehtml_proc.php)[/i]

    So, in dieser Klasse findet ihr die [b]TS_links_rte()[/b] Funktion, diese steuert
    laut dem Kommentar folgendes

    /**
    * Transformation handler: 'ts_links' / direction: "rte"
    * Converting <link tags="" /> to <a>-tags
    *
    * @param string Content input
    * @return string Content output
    * @see TS_links_rte()
    */

    also die konvertierung von <link /> Tags zu <a> Tags

    Nun hab ich also einfach meinen Content aus meiner Extension durch diese Klasse
    gejagt, und siehe da, die ausgabe hat gepasst. Das "Durchjagen" hab ich wie
    folgt gemacht:

    Als aller erstes die [b]t3lib_pasrehtml_proc[/b] Klasse importieren

    1. require_once(PATH_t3lib.'class.t3lib_parsehtml_proc.php');

    Nun ein Object dieser Klasse anlegen:

    1. $MY_t3lib_parsehtml_proc = new t3lib_parsehtml_proc();

    und hier die Ausgabe als Rückgabewert meiner eigenen Funktion zur
    weiterverarbeitung, nachdem die richtig geparst wurde:

    1. return $MY_t3lib_parsehtml_proc->TS_links_rte($maincontent);

    [i]($maincontent ist in meinem fall die Variable, welche den gesamten Inhalt meiner Extension beinhaltet.)[/i]

    so, ich hoffe, dass hat weitergeholfen :)

  • Desperant Desperant
    Padawan
    0 x
    55 Beiträge
    0 Hilfreiche Beiträge
    20. 10. 2006, 19:18

    UND WAS STEHT IN DEM $MAINCONTENT?

    [quote="rony"]
    Hi,

    tut mir leid, leider war ich ne zeit lang nicht in der lage hier reinzuschauen
    und erst jetzt eure post lesen können.

    Nun zur Beschreibung meines Lösungsweges:

    noch etwas generelles:
    Wenn ihr mit TYPO3 arbeitet und eigene Extensions programmiert, sollte man
    zumindest einen groben Überblick über die TYPO3-Klassen haben um sauber
    programmieren und Probleme beheben zu können.

    Wie gesagt, geht es darum, dass bei der Ausgabe von Daten die "<a>" Tags
    gelöscht wurden (wieso auch immer). Ich möchte jetzt nicht die gesamte
    [b]t3lib_pasrehtml_proc[/b] Klasse erklären müssen, werft einfach mal n Blick
    rein, lest die mannuals zu dieser Klasse und werdet euch über die Funktionen
    dieser Klasse bewusst.

    Meistens reicht es auch die Comments in den PHP Dateien zu lesen ;)
    [i](zu finden unter typo3_src-XXX\t3lib\class.t3lib_parsehtml_proc.php)[/i]

    So, in dieser Klasse findet ihr die [b]TS_links_rte()[/b] Funktion, diese steuert
    laut dem Kommentar folgendes

    /**
    * Transformation handler: 'ts_links' / direction: "rte"
    * Converting <link tags="" /> to <a>-tags
    *
    * @param string Content input
    * @return string Content output
    * @see TS_links_rte()
    */

    also die konvertierung von <link /> Tags zu <a> Tags

    Nun hab ich also einfach meinen Content aus meiner Extension durch diese Klasse
    gejagt, und siehe da, die ausgabe hat gepasst. Das "Durchjagen" hab ich wie
    folgt gemacht:

    Als aller erstes die [b]t3lib_pasrehtml_proc[/b] Klasse importieren

    1. require_once(PATH_t3lib.'class.t3lib_parsehtml_proc.php');

    Nun ein Object dieser Klasse anlegen:

    1. $MY_t3lib_parsehtml_proc = new t3lib_parsehtml_proc();

    und hier die Ausgabe als Rückgabewert meiner eigenen Funktion zur
    weiterverarbeitung, nachdem die richtig geparst wurde:

    1. return $MY_t3lib_parsehtml_proc->TS_links_rte($maincontent);

    [i]($maincontent ist in meinem fall die Variable, welche den gesamten Inhalt meiner Extension beinhaltet.)[/i]

    so, ich hoffe, dass hat weitergeholfen :)
    [/quote]

  • 1