Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   PHP preg_replace question (https://thetfp.com/tfp/tilted-technology/23237-php-preg_replace-question.html)

mpedrummer2 08-20-2003 10:11 AM

PHP preg_replace question
 
ok...let's see if I can explain this properly...

I have a string. It needs to:

1) Be split into an array of single words (check)
2) Be stripped of "noisewords" (here's the problem)
3) Be inserted into a "keywords" table in a MySQL database.

Number 2 works...just too well. I have the word "the" in my noisewords array...the problem is, it not only replaces the word the, but also any time that "the" is used in another word. So "another" would become "anor". Actually, since I also have "a" and "no" specified as noisewords, it becomes "r".

Any thoughts?

MPEDrummer

Kadath 08-20-2003 11:00 AM

I'm not familiar with how php handles strings, but does it accept the space character as a legitamite string character? You could make " the " what's replaced. Just make sure to throw spaces into the replacement word.
Actually, it seems like you're not replacing, but removing. So just wrap the words to be stripped in spaces and that might work.

bogosj13 08-20-2003 11:34 AM

Actually, the best way to do this probably to use the "word boundary" escape character.

Each word in your array that is noise, you should put a \b on each side of the word:

the => \bthe\b

Mind you, it's been a while since I've used PHP, but that should work. Read RegExp Pattern Syntax for more information.

mpedrummer2 08-20-2003 12:14 PM

Hmm...sounds good. I'll try that when I get home tonight.

MPEDrummer

Cocktopus 08-20-2003 06:03 PM

i think you could also match non word characters

\Wthe\W
\W{1}the\W{1}

or begining/end of string

^the$

bogosj13 08-21-2003 06:54 AM

Quote:

...
or begining/end of string

^the$ [/B]
I believe ^ and $ are the beginning and end of line characters resepectively, so that probably wouldn't work.


All times are GMT -8. The time now is 06:57 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73