**Formatted Search Using **%SEARCH\{... format="..."\}%**
Variable**
%TOC%
## Preface
By default, the format for displaying a search result is fixed, e.g. a table with rows of topic name and topic summary. Use the `format="..."` parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (i.e. %SEARCH\{ "food" format="| $topic | $summary |" \}%
).
## Syntax
Two paramters can be used to specify a customized search result:
1. `header="..."` parameter
Use the header paramter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional. I.e. header="| \*Topic:\* | \*Summary:\* |"
2. `format="..."` parameter
Use the format paramter to specify the format of one search hit. I.e.
`format="| $topic | $summary |"`
Variables that can be used in the format string:
Name: | Expands To: |
---|---|
$n |
New line |
$web |
Name of the web |
$topic |
Topic name |
$locked |
LOCKED flag (if any) |
$date |
Time stamp of last topic update, i.e. %GMTIME{"$day $mon $year - $hour:$min"}% |
$isodate |
Time stamp of last topic update, i.e. %GMTIME{"$year-$mo-$dayT$hour:$minZ"}% |
$rev |
Number of last topic revision, i.e. 1.4 |
$wikiusername |
Wiki user name of last topic update, i.e. %MAINWEB%. |
$username |
User name of last topic update, i.e.
|
$summary |
Topic summary |
$formfield(name) |
The field value of a form field, i.e. $formfield( would get expanded to PublicFAQ . This applies only to topics that have a TWiki Form? |
$pattern(reg-exp) |
A regular expression pattern to extract some text from a topic, i.e. $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ... . |
%SEARCH\{ "FAQ" scope="topic" nosearch="on" nototal="on" header=" \* \*Topic: Summary:\*" format=" \* [[$topic]]: $summary" \}%
To get this:
%SEARCH\{ "FAQ" scope="topic" nosearch="on" nototal="on" header=" \* \*Topic: Summary:\*" format=" \* [[Topic]]: $summary" \}%
### Table showing form field values of topics with a form
Write this in the Know web:
| \*Topic:\* | \*OperatingSystem:\* | \*OsVersion:\* |
%SEARCH\{ "[T]opicClassification.\*?value=\\"[P]ublicFAQ\\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" \}%
To get this:
Topic: | OperatingSystem: | OsVersion: |
---|---|---|
IncorrectDllVersionW32PTH10DLL | OsWin | 95/98 |
WinDoze95Crash | OsWin | 95 |
%SEARCH\{ "\_\_Back to\\:\_\_ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format=" \* $pattern(.\*?FAQ\\:[\\n\\r]\*([^\\n\\r]+).\*) [[$topic]\[Answer...]]" \}%
To get this:
%SEARCH\{ "\_\_Back to\\:\_\_ [[TWikiFAQ]]" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format=" \* $pattern(.\*?FAQ\\:[\\n\\r]\*([^\\n\\r]+).\*) [[Topic]]" \}%
-- [[Main/PeterThoeny]] - 28 Nov 2001