wSearch::getTextMulti

Ermittelt einen Teil des Inhalts aus einer Seite im Index. Der Treffer im Inhalt der Seite wird als Ergebnis markiert.

Funktionsaufruf

String getTextMulti(Array $parameters)

Parameter

ParameterBeschreibung
parameters
url
URL zur Seite
search
Suchbegriff der hervorgehoben werden soll
xml
Gibt die Ausgabe xml-konform zurück
lengthBefore
Länge des Textausschnittes vor dem Treffer
lengthAfter
Länge des Textausschnittes nach dem Treffer
stringBeforeText
String der vor dem Treffer eingefügt wird
stringAfterText
String der nach dem Treffer eingefügt wird
showIfNoWord
Anzeigen eines Ergebnisse auch wenn der Treffer nicht enthalten ist
delimiter
Trennzeichen zwischen den einzelnen Textpassagen, falls mehrere Treffer gefunden werden
delimiterCrop
Trennzeichen, Falls Ergebnis abgeschnitten wird.

Beispiel: Ermitteln des Inhalts für die Datei "/wDeutsch/" und den Suchbegriff "test"

Quelltext

<?php

$pathSearch = "/wDeutsch/weblication/project/searchs/default.wSearchBot.php";

//Objekt erstellen
$wSearch = new wSearch($pathSearch);
$options = array();
$options['url'] = '/wDeutsch/index.php';
$options['search'] = 'test*';
$options['lengthBefore'] = '120';
$options['lengthAfter'] = '120';
$options['stringBeforeText'] = '&lt;strong>';
$options['stringAfterText'] = '&lt;/strong>';
$options['xml'] = 'on';
$options['showIfNoWord'] = '1';
$options['delimiter'] = ' ... ';

print $wSearch->getTextMulti($options);

?>

Parameter

  • url -> URL zur Seite
  • search -> Suchbegriff der hervorgehoben werden soll
  • lengthBefore -> Länge des Textausschnittes vor dem Treffer
  • lengthAfter -> Länge des Textausschnittes nach dem Treffer
  • stringBeforeText -> String der vor dem Treffer eingefügt wird
  • stringAfterText -> String der nach dem Treffer eingefügt wird
  • showIfNoWord -> Anzeigen eines Ergebnisse auch wenn der Treffer nicht enthalten ist
  • delimiter -> Trennzeichen zwischen den einzelnen Textpassagen , falls mehrere Treffer gefunden werden
  • xml = on -> Gibt die Ausgabe xml-konform zurück

Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.

 
FAQs
Wofür ist die Funktion "wSearch::getTextMulti" da?
Die Funktion ermittelt einen Teil des Inhalts aus einer Seite im Index und markiert den Treffer im gefundenen Seiteninhalt als Ergebnis.
Wie wird "wSearch::getTextMulti" aufgerufen?
Über einen Funktionsaufruf mit einem Parameter-Array: <code class="codeInline">String getTextMulti(Array $parameters)</code>.
Welche Rolle spielt der Parameter "url" bei "getTextMulti"?
Mit <code class="codeInline">url</code> wird die URL der Seite angegeben, aus deren Index-Inhalt der Textausschnitt ermittelt werden soll.
Wie wird der Suchbegriff festgelegt, der im Ergebnis hervorgehoben wird?
Der Suchbegriff wird über den Parameter <code class="codeInline">search</code> übergeben (z. B. auch mit Wildcards wie <code class="codeInline">test*</code>).
Was bedeuten "lengthBefore" und "lengthAfter"?
<code class="codeInline">lengthBefore</code> legt die Länge des Textausschnittes vor dem Treffer fest, und <code class="codeInline">lengthAfter</code> legt die Länge des Textausschnittes nach dem Treffer fest.
Wozu dienen "stringBeforeText" und "stringAfterText"?
Diese Parameter definieren den Text, der direkt vor bzw. nach dem Treffer eingefügt wird. Im Beispiel werden Treffer mit <code class="codeInline"><strong></code> und <code class="codeInline"></strong></code> umschlossen, um sie hervorzuheben.
Was bewirkt der Parameter "showIfNoWord"?
Mit <code class="codeInline">showIfNoWord</code> kann festgelegt werden, ob auch dann ein Ergebnis ausgegeben wird, wenn der Treffer (Suchbegriff) nicht im Inhalt enthalten ist (im Beispiel: <code class="codeInline">showIfNoWord = '1'</code>).
Wie werden mehrere Treffer im Ergebnis getrennt?
Falls mehrere Treffer gefunden werden, werden die einzelnen Textpassagen mit dem Parameter <code class="codeInline">delimiter</code> voneinander getrennt (z. B. <code class="codeInline">... </code> im Beispiel).
Wozu ist "delimiterCrop" gedacht?
<code class="codeInline">delimiterCrop</code> ist das Trennzeichen, das verwendet wird, falls das Ergebnis abgeschnitten wird (Crop).
Was macht der Parameter "xml"?
Mit <code class="codeInline">xml</code> = <code class="codeInline">on</code> wird die Ausgabe in einer xml-konformen Form zurückgegeben.
Kannst du ein Beispiel für die Verwendung von "getTextMulti" geben?
Ja. Beispielhaft wird der Inhalt der Seite <code class="codeInline">/wDeutsch/index.php</code> durchsucht und der Treffer für den Suchbegriff <code class="codeInline">test*</code> ausgegeben und im Text mit <code class="codeInline"><strong></code> hervorgehoben. Außerdem werden Ausschnittlängen, Delimiter und XML-Format gesetzt. Der Aufruf erfolgt mit: <code class="codeInline">$wSearch->getTextMulti($options);</code> (siehe Beispiel im Quelltext der Seite).
Welche Hinweise gelten, wenn man Framework-Funktionen in eigenen Skripten nutzt?
Beim Einsatz von Framework-Funktionen in eigenen Skripten sollte der zugehörige Hinweis/Artikel beachtet werden (laut Seite). Zudem gilt: Wenn eine Funktion innerhalb einer Weblication®-Seite eingebunden wird (z. B. über das PHP-Quelltext Element oder in einem XSL-Template über <code class="codeInline">wsl:php</code>), muss das Framework über die <code class="codeInline">grid.php</code> nicht mehr referenziert werden.