Pepperminty-Wiki/docs/ModuleApi/classes/search.html

931 lines
53 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta charset="utf-8"/>
<title>Pepperminty Wiki Module API</title>
<meta name="author" content=""/>
<meta name="description" content=""/>
<link href="../css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="../css/font-awesome.min.css" rel="stylesheet">
<link href="../css/prism.css" rel="stylesheet" media="all"/>
<link href="../css/template.css" rel="stylesheet" media="all"/>
<!--[if lt IE 9]>
<script src="../js/html5.js"></script>
<![endif]-->
<script src="../js/jquery-1.11.0.min.js"></script>
<script src="../js/ui/1.10.4/jquery-ui.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.smooth-scroll.js"></script>
<script src="../js/prism.min.js"></script>
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit-->
<script type="text/javascript">
function loadExternalCodeSnippets() {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
var src = pre.getAttribute('data-src');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
}
$(document).ready(function(){
loadExternalCodeSnippets();
});
$('#source-view').on('shown', function () {
loadExternalCodeSnippets();
})
</script>
<link rel="shortcut icon" href="../images/favicon.ico"/>
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<i class="icon-ellipsis-vertical"></i>
</a>
<a class="brand" href="../index.html">Pepperminty Wiki Module API</a>
<div class="nav-collapse">
<ul class="nav pull-right">
<li class="dropdown" id="charts-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../graphs/class.html">
<i class="icon-list-alt"></i>&#160;Class hierarchy diagram
</a>
</li>
</ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">44</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
</a>
</li>
<li>
<a href="../reports/deprecated.html">
<i class="icon-list-alt"></i>&#160;Deprecated <span class="label label-info pull-right">0</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="go_to_top">-->
<!--<a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1506521234"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1506521234" class="accordion-body collapse in">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/ids.html">ids</a></li>
<li class="class"><a href="../classes/page_renderer.html">page_renderer</a></li>
<li class="class"><a href="../classes/PeppermintParsedown.html">PeppermintParsedown</a></li>
<li class="class"><a href="../classes/search.html">search</a></li>
<li class="class"><a href="../classes/Slimdown.html">Slimdown</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="row-fluid">
<div class="span10 offset2">
<div class="row-fluid">
<div class="span8 content class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
<h1><small>\</small>search</h1>
<p><em>Holds a collection to methods to manipulate various types of search index.</em></p>
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/search.html#method_index" class="">index()</a><br />
<a href="../classes/search.html#method_tokenize" class="">tokenize()</a><br />
<a href="../classes/search.html#method_strip_markup" class="">strip_markup()</a><br />
<a href="../classes/search.html#method_rebuild_invindex" class="">rebuild_invindex()</a><br />
<a href="../classes/search.html#method_sort_index" class="">sort_index()</a><br />
<a href="../classes/search.html#method_compare_indexes" class="">compare_indexes()</a><br />
<a href="../classes/search.html#method_load_invindex" class="">load_invindex()</a><br />
<a href="../classes/search.html#method_measure_invindex_load_time" class="">measure_invindex_load_time()</a><br />
<a href="../classes/search.html#method_merge_into_invindex" class="">merge_into_invindex()</a><br />
<a href="../classes/search.html#method_delete_entry" class="">delete_entry()</a><br />
<a href="../classes/search.html#method_save_invindex" class="">save_invindex()</a><br />
<a href="../classes/search.html#method_query_invindex" class="">query_invindex()</a><br />
<a href="../classes/search.html#method_extract_context" class="">extract_context()</a><br />
<a href="../classes/search.html#method_highlight_context" class="">highlight_context()</a><br />
</section>
<section class="span4">
<a href="../classes/search.html#property_stop_words" class="">$stop_words</a><br />
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<em>No private properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/modules.feature-search.html"><div class="path-wrapper">modules/feature-search.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">Default</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\search</div>
</dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_stop_words" name="property_stop_words" class="anchor"></a>
<article class="property">
<h3 class="public ">$stop_words</h3>
<pre class="signature">$stop_words : </pre>
<p><em>Words that we should exclude from the inverted index</em></p>
<h4>Type</h4>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_index" name="method_index" class="anchor"></a>
<article class="method">
<h3 class="public ">index()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">index(string <span class="argument">$source</span>) : array</pre>
<p><em>Converts a source string into an index of search terms that can be
merged into an inverted index.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$source </td>
<td><p>The source string to index.</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>An index represents the specified string.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_tokenize" name="method_tokenize" class="anchor"></a>
<article class="method">
<h3 class="public ">tokenize()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">tokenize(string <span class="argument">$source</span>) : array</pre>
<p><em>Converts a source string into a series of raw tokens.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$source </td>
<td><p>The source string to process.</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>An array of raw tokens extracted from the specified source string.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_strip_markup" name="method_strip_markup" class="anchor"></a>
<article class="method">
<h3 class="public ">strip_markup()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">strip_markup(string <span class="argument">$source</span>) : string</pre>
<p><em>Removes (most) markdown markup from the specified string.</em></p>
<p>Stripped strings are not suitable for indexing!</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$source </td>
<td><p>The source string to process.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The stripped string.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_rebuild_invindex" name="method_rebuild_invindex" class="anchor"></a>
<article class="method">
<h3 class="public ">rebuild_invindex()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">rebuild_invindex(boolean <span class="argument">$output = true</span>) </pre>
<p><em>Rebuilds the master inverted index and clears the page id index.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>boolean</td>
<td>$output </td>
<td><p>Whether to send progress information to the user's browser.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_sort_index" name="method_sort_index" class="anchor"></a>
<article class="method">
<h3 class="public ">sort_index()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">sort_index(array <span class="argument">$index</span>) </pre>
<p><em>Sorts an index alphabetically. Will also sort an inverted index.</em></p>
<p>This allows us to do a binary search instead of a regular
sequential search.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$index </td>
<td><p>The index to sort.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_compare_indexes" name="method_compare_indexes" class="anchor"></a>
<article class="method">
<h3 class="public ">compare_indexes()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">compare_indexes(array <span class="argument">$oldindex</span>, array <span class="argument">$newindex</span>, array <span class="argument">$changed</span>, array <span class="argument">$removed</span>) </pre>
<p><em>Compares two *regular* indexes to find the differences between them.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$oldindex </td>
<td><p>The old index.</p></td>
</tr>
<tr>
<td>array</td>
<td>$newindex </td>
<td><p>The new index.</p></td>
</tr>
<tr>
<td>array</td>
<td>$changed </td>
<td><p>An array to be filled with the nterms of all the changed entries.</p></td>
</tr>
<tr>
<td>array</td>
<td>$removed </td>
<td><p>An array to be filled with the nterms of all the removed entries.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_load_invindex" name="method_load_invindex" class="anchor"></a>
<article class="method">
<h3 class="public ">load_invindex()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">load_invindex(string <span class="argument">$invindex_filename</span>) </pre>
<p><em>Reads in and parses an inverted index.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$invindex_filename </td>
<td><p>The path tp the inverted index to parse.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
<p>Remove this function and make everything streamable</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_measure_invindex_load_time" name="method_measure_invindex_load_time" class="anchor"></a>
<article class="method">
<h3 class="public ">measure_invindex_load_time()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">measure_invindex_load_time(string <span class="argument">$invindex_filename</span>) </pre>
<p><em>Reads in and parses an inverted index, measuring the time it takes to do so.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$invindex_filename </td>
<td><p>The path to the file inverted index to parse.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_merge_into_invindex" name="method_merge_into_invindex" class="anchor"></a>
<article class="method">
<h3 class="public ">merge_into_invindex()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">merge_into_invindex(array <span class="argument">$invindex</span>, integer <span class="argument">$pageid</span>, array <span class="argument">$index</span>, array <span class="argument">$removals = array()</span>) </pre>
<p><em>Merge an index into an inverted index.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$invindex </td>
<td><p>The inverted index to merge into.</p></td>
</tr>
<tr>
<td>integer</td>
<td>$pageid </td>
<td><p>The id of the page to assign to the index that's being merged.</p></td>
</tr>
<tr>
<td>array</td>
<td>$index </td>
<td><p>The regular index to merge.</p></td>
</tr>
<tr>
<td>array</td>
<td>$removals </td>
<td><p>An array of index entries to remove from the inverted index. Useful for applying changes to an inverted index instead of deleting and remerging an entire page's index.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_delete_entry" name="method_delete_entry" class="anchor"></a>
<article class="method">
<h3 class="public ">delete_entry()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">delete_entry( <span class="argument">$invindex</span>, \number <span class="argument">$pageid</span>) </pre>
<p><em>Deletes the given pageid from the given pageindex.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$invindex </td>
<td></td>
</tr>
<tr>
<td>\number</td>
<td>$pageid </td>
<td><p>The pageid to remove.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_save_invindex" name="method_save_invindex" class="anchor"></a>
<article class="method">
<h3 class="public ">save_invindex()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">save_invindex(string <span class="argument">$filename</span>, array <span class="argument">$invindex</span>) </pre>
<p><em>Saves the given inverted index back to disk.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$filename </td>
<td><p>The path to the file to save the inverted index to.</p></td>
</tr>
<tr>
<td>array</td>
<td>$invindex </td>
<td><p>The inverted index to save.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_query_invindex" name="method_query_invindex" class="anchor"></a>
<article class="method">
<h3 class="public ">query_invindex()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">query_invindex(string <span class="argument">$query</span>, array <span class="argument">$invindex</span>) : array</pre>
<p><em>Searches the given inverted index for the specified search terms.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$query </td>
<td><p>The search query.</p></td>
</tr>
<tr>
<td>array</td>
<td>$invindex </td>
<td><p>The inverted index to search.</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>An array of matching pages.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_extract_context" name="method_extract_context" class="anchor"></a>
<article class="method">
<h3 class="public ">extract_context()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">extract_context(string <span class="argument">$query</span>, string <span class="argument">$source</span>) : string</pre>
<p><em>Extracts a context string (in HTML) given a search query that could be displayed
in a list of search results.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$query </td>
<td><p>The search queary to generate the context for.</p></td>
</tr>
<tr>
<td>string</td>
<td>$source </td>
<td><p>The page source to extract the context from.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The generated context string.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_highlight_context" name="method_highlight_context" class="anchor"></a>
<article class="method">
<h3 class="public ">highlight_context()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">highlight_context(string <span class="argument">$query</span>, string <span class="argument">$context</span>) : string</pre>
<p><em>Highlights the keywords of a context string.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$query </td>
<td><p>The query to use when highlighting.</p></td>
</tr>
<tr>
<td>string</td>
<td>$context </td>
<td><p>The context string to highlight.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The highlighted (HTML) string.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">feature-search.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/modules/feature-search.php.txt" class="language-php line-numbers"></pre>
</div>
</div>
<footer class="row-fluid">
<section class="span10 offset2">
<section class="row-fluid">
<section class="span10 offset1">
<section class="row-fluid footer-sections">
<section class="span4">
<h1><i class="icon-code"></i></h1>
<div>
<ul>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-bar-chart"></i></h1>
<div>
<ul>
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-pushpin"></i></h1>
<div>
<ul>
<li><a href="../reports/errors.html">Errors</a></li>
<li><a href="../reports/markers.html">Markers</a></li>
</ul>
</div>
</section>
</section>
</section>
</section>
<section class="row-fluid">
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on November 20th, 2017 at 20:40.
</section>
</section>
</section>
</footer>
</div>
</body>
</html>