Re: Limit Local Search to Content
| From: | Ashley Sheridan | Date: | Fri, 27 Mar 2009 00:22:29 +0000 |
| Subject: | Re: Limit Local Search to Content | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-290725@lists.php.net to get a copy of this message | ||
What about storing all of the page content in the database to start
with, then searching with a mysql statement is a breeze!
On Thu, 2009-03-26 at 16:29 -0600, George Langley wrote:
> ----- Original Message -----
> > From: Stuart <stuttle@gmail.com>
> > > You can't have any extra info in a closing HTML tag. This
> > > problem is
> > > usually handled using comments. Something like the following...
> > >
> > > <div id="divContent">
> > > <!-- content begin -->
> > > sofihsod hiosdh sdh gus us u sg
> > > <!-- content end -->
> > > </div>
> > >
> > > You then just start with you see the begin comment and stop
> > when you
> > > hit the end comment.
> > ---------
> Hmm, they are stripping out the tags before looking at the words, so didn't work quite as
> I originally thought.
> The solution seems to be to explode the string based on the entire comment before doing the
> word-by-word storing. I wrote up the following test code that seems to work and handles any string
> or error I could think of. Am wondering if this is good or is there better/more efficient code?
>
>
> <?php
>
> function contentString($pString, $pStart, $pStop){
> echo "$pString<br />";
>
> $finalArray = array();
> $finalString = "";
> $exploded1 = explode($pStart, $pString); // makes array $exploded1
>
> for ($i=1; $i<count($exploded1); $i++) // ignore first item (0) in array
> {
> $exploded2 = explode($pStop, $exploded1[$i]);
> array_push($finalArray, $exploded2[0]); // array of just the wanted sections
> }
> foreach ($finalArray as $value3)
> {
> $finalString .= $value3 . " "; // " " ensures separation between
> substrings
> }
> $finalString = trim($finalString); // trim any extra white space from beginning/end
>
> echo $finalString;
> echo "<br /><br />";
> }
>
> // TEST
> $startTerm = "START";
> $stopTerm = "STOP";
>
> // test typical string
> $theString = "one two START three four STOP five six START seven eight STOP nine
> ten";
> contentString($theString, $startTerm, $stopTerm); // outputs "three four seven
> eight"
> // test string with immediate START
> $theString = "START one two STOP three four START five six STOP seven eight START nine
> ten";
> contentString($theString, $startTerm, $stopTerm); // outputs "one two five six nine
> ten"
> // test string with "error" (2 STARTS)
> $theString = "START one two START three four STOP five six START seven eight STOP nine
> ten";
> contentString($theString, $startTerm, $stopTerm); // outputs "one two three four seven
> eight"
> // test string with no space between separators and real content
> $theString = "STARTone twoSTOP three four STARTfive sixSTOP seven eight STARTnine
> ten";
> contentString($theString, $startTerm, $stopTerm); // outputs "one two five six nine
> ten"
>
> ?>
>
> Any thoughts/suggestions? Thanks!
>
> George
Ash
www.ashleysheridan.co.uk