Location: PHPKode > projects > Netautor Professional > netautor/napro4/include/npf_lib/npf_replace.xml
<?xml version = '1.0' encoding = 'UTF-8' standalone = 'no' ?>
<NA_FUNCTION_DESCRIPT>
	<FUNCTION name="npf_replace" new_name="" call="npf_replace" context="programming" date="2001-06-27" depricated="0" internal="1" tail="0">
		<AUTHOR>
			<COMPANY>/digiconcept/</COMPANY>
			<NAME>Helmut Kleinhans</NAME>
			<EMAIL>hide@address.com</EMAIL>
		</AUTHOR>
		<DESCRIPT lang="de">
				Sucht in eine Variable des aktuellen Kontext und ersetzt Text nach bestimmten Richtlinien.
				Dabei wird davon ausgegangen das in dem Text der durchsucht wird, Tag zu finden sind, welche
				immer mit dem selben Text beginnen und &amp;uuml;ber einen Parameter durchnummeriert sind:
				Beispiel:&lt;br&gt; 
					Dies ist der Text und an verschiedenen Stellen soll ein &amp;amp;lt;LINK AREA='1'&amp;amp;gt;
					Link auf andere Seiten &amp;amp;lt;/LINK&amp;amp;gt;
					erzeugt werden welcher	sp&amp;auml;ter dann ausgetauscht werden kann.
				&lt;br&gt;
				&lt;br&gt;

				Hier wird dann an der Stelle von &amp;amp;lt;LINK AREA='1'&amp;amp;gt; die entsprechende Ersetzung
				durchgef&amp;uuml;hrt. 'LINK' muss somit im Paraneter 'search.value' angegeben werden.
		</DESCRIPT>

		<PARAM name="restore.context" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-06-27">
			<DEFAULT>THIS</DEFAULT>
			<VALUE>THIS</VALUE>
			<VALUE>GLOBALS</VALUE>
			<VALUE>PARENT</VALUE>
			<VALUE>SESSION</VALUE>
			<DESCRIPT lang="de">Context in dem das Element liegt welches durchsucht werden soll</DESCRIPT>
			<DESCRIPT lang="en">Context of the variable to be examined</DESCRIPT>
		</PARAM>
		<PARAM name="restore.element" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-06-27">
			<DEFAULT/>
			<DESCRIPT lang="de">Name des zu durchsuchenden Feldes</DESCRIPT>
			<DESCRIPT lang="en">Name of the variable to be examined</DESCRIPT>
		</PARAM>
		<PARAM name="restore.value" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-06-27">
			<DEFAULT/>
			<DESCRIPT lang="de">Wert welcher durchsucht wird</DESCRIPT>
			<DESCRIPT lang="en">Value to search inside</DESCRIPT>
		</PARAM>

		<PARAM name="search.value" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-06-27">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Gibt an nach was gesucht wird. (Die ist der Teil der im Tag steht)
			</DESCRIPT>
			<DESCRIPT lang="en">
				The Part of the Searchstring
			</DESCRIPT>
		</PARAM>
		<PARAM name="search.element" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-06-27">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Gibt das Element an welches den Wert enth&amp;uuml;lt der gesucht wird
			</DESCRIPT>
			<DESCRIPT lang="en">
				The Name of the element with the search string
			</DESCRIPT>
		</PARAM>

		<PARAM name="mode" new_name="" magic="1" quote="3" flag="0" explizit="1" depricated="" date="2001-06-27">
			<DEFAULT>SINGLE_TAG,CLEANUP</DEFAULT>
			<DESCRIPT lang="de">
				Art der Suche &lt;br&gt; 
				SINGLE_TAG : Suche nach einfachen Tags wie &amp;amp;lt;BILD AREA='1'  /&amp;amp;gt; etc&lt;br&gt;
				DOUBLE_TAG : Suche nach geteilten Tags wie &amp;amp;lt;BILD AREA='2' &amp;amp;gt; und &amp;amp;lt;/BILD &amp;amp;gt;&lt;br&gt;
				CLEANUP : Sollten f&amp;uuml;r die Tags nicht ausreichend Daten zum Ersetzten bereitstehen werden die Tags gel&amp;ouml;scht.&lt;br&gt;
				Wird dies nicht angegeben, bleiben die Tags im Text erhalten.
			</DESCRIPT>
			<VALUE>SINGLE_TAG</VALUE>
			<VALUE>DOUBLE_TAG</VALUE>
			<VALUE>CLEANUP</VALUE>
		</PARAM>

		<PARAM name="replace.container" new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-07-23">
			<DEFAULT/>
		</PARAM>
		<PARAM name="replace.element" 	new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2003-30-04">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Unter der Bedingung da&amp;szlig; diese Element gegeben ist und der Modus CLEANUP gesetzt ist, wird des Element innerhalb des 
				REPLACE.CONTAINER auf Inhalt gepr&amp;uuml;ft.
				&lt;br&gt; 
				Ist dieser Leer, so sind nicht gen&amp;uuml;gend Daten zum Ersetzten vorhanden. Die Tags werden gel&amp;ouml;scht, der Text jedoch bleibt erhalten. 
				&lt;br&gt; 
			</DESCRIPT>			
		</PARAM>
		<PARAM name="replace.value" 	new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-07-23">
			<DEFAULT/>
		</PARAM>

		<PARAM name="replace.regex" 	new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2003-04-30">
			<DEFAULT>(?:AREA=)+(?:["'])?(\d{1,})(?:["'])</DEFAULT>
			<DESCRIPT lang="de">
				Gibt die Regular Expression an, um das gew&amp;uuml;nschte Tag zu suchen. In den meisten F&amp;auml;llen ist diese v&amp;ouml;llig ausreichend
			</DESCRIPT>			
			<DESCRIPT lang="en">
				Describes the regular expression required for searching the tags.The default expression will satisfy most of the normal cases
			</DESCRIPT>			

		</PARAM>

		<PARAM name="open.format" new_name="" magic="2" quote="0" flag="0" explizit="0" depricated="0" date="2001-11-27">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Formatangabe, wie der erste Teil des gefunden Tags ersetzt werden soll.
			</DESCRIPT>
			<DESCRIPT lang="en">
				Replace the tag head by the given string
			</DESCRIPT>

		</PARAM>
		<PARAM name="close.format" new_name="" magic="2" quote="0" flag="0" explizit="0" depricated="0" date="2001-12-12">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Formatangabe, wie der zweite Teil des gefunden Tags ersetzt werden soll. Dies ist nur wichtig wenn der Modus DOUBLE_TAG benutzt wird.
			</DESCRIPT>
			<DESCRIPT lang="en">
				Replace the tag tail by the given string. Is required if in mode DOUBLE_TAG 
			</DESCRIPT>			
		</PARAM>

		<PARAM name="store.element" 	new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-07-23">
			<DEFAULT/>
			<DESCRIPT lang="de">
				Element welches das Ergebnis aufnimmt
			</DESCRIPT>
			<DESCRIPT lang="en">
				Element to store the results
			</DESCRIPT>
		</PARAM>

		<PARAM name="store.context" 	new_name="" magic="1" quote="0" flag="0" explizit="0" depricated="0" date="2001-07-23">
			<DEFAULT>THIS</DEFAULT>
			<VALUE>THIS</VALUE>
			<VALUE>GLOBALS</VALUE>
			<VALUE>PARENT</VALUE>
			<VALUE>SESSION</VALUE>
			<DESCRIPT lang="de">
				Context in dem das Element liegt welches das Ergebnis aufnimmt
			</DESCRIPT>
			<DESCRIPT lang="en">
				Context of the Element to store the results
			</DESCRIPT>
		</PARAM>

		<PARAM name="dependon.element" new_name="" magic="0" quote="0" flag="0" explizit="0" depricated="0" date="2001-12-12">
			<DEFAULT/>
			<DESCRIPT lang="de">Element welches zu pruefen ist</DESCRIPT>
			<DESCRIPT lang="en">Element to check</DESCRIPT>
		</PARAM>
		<PARAM name="dependon.operator" new_name="" magic="0" quote="0" flag="0" explizit="0" depricated="0" date="2001-12-12">
			<DEFAULT/>
			<DESCRIPT lang="de">Operator der zur Pruefung benutzt wird</DESCRIPT>
			<DESCRIPT lang="en">Operator for the check</DESCRIPT>
			<VALUE>EQ</VALUE>
			<VALUE>GT</VALUE>
			<VALUE>LT</VALUE>
			<VALUE>LE</VALUE>
			<VALUE>GE</VALUE>
			<VALUE>NE</VALUE>
			<VALUE>EMPTY</VALUE>
			<VALUE>NONEMPTY</VALUE>
			<VALUE>LK</VALUE>
		</PARAM>
		<PARAM name="dependon.context" new_name="" magic="0" quote="0" flag="0" explizit="0" depricated="0" date="2001-12-12">
			<DEFAULT>THIS</DEFAULT>
			<DESCRIPT lang="de">Legt fest aus welchem Context das Vergleichselement genommen wird</DESCRIPT>
			<DESCRIPT lang="en">Sets the Context of the Element</DESCRIPT>
			<VALUE>THIS</VALUE>
			<VALUE>GLOBALS</VALUE>
			<VALUE>FEATURE</VALUE>
			<VALUE>USER</VALUE>
			<VALUE>PARENT</VALUE>
			<VALUE>SESSION</VALUE>
			<VALUE>GET</VALUE>
			<VALUE>POST</VALUE>
		</PARAM>

		<EXAMPLE lang="de">
Ersetzt in dem Text die LINK-Tags mit den Werten aus dem 
Bereich MY_LINKS in dem angegeben Format. Falls nicht gen&amp;uuml;gend Werte zum 
Ersetzten im Bereich vorhanden sind werden die Tags aus dem Text gel&amp;ouml;scht.
Das Ergebnis der Berarbeitung wird in das Element 'ERGEBNIS' gesteckt.

&lt;#npf_replace
	restore.value='Text mit verschieden &amp;lt;LINK AREA='1' &amp;gt;dynamischen Links&amp;lt;/LINK&amp;gt; !!!
		Welche dann mal &amp;lt;LINK AREA='2'&amp;gt;hier&amp;lt;/LINK&amp;gt; und mal &amp;lt;LINK AREA='3'&amp;gt;
		dort&amp;lt;/LINK &amp;gt; hin zeigen.'

	search.value='LINK'
	mode='DOUBLE_TAG,CLEANUP'
	replace.container='MY_LINK_BEREICH'
	replace.element='MY_LINK';
	open.format='&amp;lt;a href=%MY_LINK%&amp;gt;'
	close.format='&amp;lt;/a&amp;gt;'
	store.element='ERGEBNIS'
	store.context='THIS'
	#&amp;gt;</EXAMPLE>
	</FUNCTION>
</NA_FUNCTION_DESCRIPT>
Return current item: Netautor Professional