replace problem

Hi,
ich versuche durch folgendes array eine klapptext zu erstellen also das wenn man [ TOGGLE] öffnet usw. aber irgendwie klappts nich. Vileicht kann mir ja jemand helfen.

PHP:
$search = array( 
	'[TOGGLE]',
	'[/TOGGLE]' );

$replace = array(
	'<table>
     <td VALIGN="top"><a href="javascript:klapptext('.$newsID.')"><img alt="Klappnews" src="gfx/plus.gif" border="0" id="klapptextImg_'.$newsID.'" style="position: relative; top: 3px;"/> Klapptext </a>
     </td>
     </tr>
     <tr id="klapptextRow_'.$newsID.'" style="display: none">
     <td width="400" COLSPAN="2" ALIGN="LEFT" VALIGN="TOP">',
	 '</td></tr></table>' );
$inhalt = str_replace($search, $replace, $inhalt);
 
Probiers mal mit RegExp. Ein Beispiel: Ich gehe mal davon aus, das mit $newsID das gemeint ist, was zwischen, dem [TOGGLE] und [/TOGGLE] steht. dann sähe das so aus.
PHP:
$inhalt = preg_replace('#\[TOGGLE\](.*)\[/TOGGLE\]#Uis','<a href="javascript:klapptext(\'$1\')>LINK</a>" ',$inhalt);
Damit filterst du das zwischen [TOGGLE] und [/TOGGLE] heraus und setzt in den Link javascript:klapptext() als Inhalt, was zwischen den Tags steht.
Das wolltest du doch, oder? Du kannst das mit allem Möglichen ersetzen lassen, was du willst. In der Variable $1 steht das, was du herausgefiltert hast.

Ich hoffe, dass ich dich richtig verstanden habe! Habe es aber nicht getestet!

mb fanste
 
Zuletzt bearbeitet:
Zurück