468,527 Members | 2,120 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,527 developers. It's quick & easy.

Is there any function in php that will match a word exactly and if it finds it, it returns true.

Hi,

Is there any function in php that will match a word exactly and if it
finds it, it returns true.

For example if I search for "CA"

strVar = "Bob is from Los Angeles CA" - return true

strVar "Bob is from Canada" -- returns false

Any help is appreciated

Thanks

-Ross

Nov 10 '07 #1
12 2451
In our last episode,
<11**********************@c30g2000hsa.googlegroups .com>,
the lovely and talented ro*********@gmail.com
broadcast on comp.lang.php:
Hi,
Is there any function in php that will match a word exactly and if it
finds it, it returns true.

Yes.
--
Lars Eighner <http://larseighner.com/ <http://myspace.com/larseighner>
Countdown: 436 days to go.
What do you do when you're debranded?
Nov 10 '07 #2
<comp.lang.php>
<>
<Sat, 10 Nov 2007 13:09:14 -0800>
<11**********************@c30g2000hsa.googlegroups .com>
Is there any function in php that will match a word exactly and if it
finds it, it returns true.

For example if I search for "CA"

strVar = "Bob is from Los Angeles CA" - return true

strVar "Bob is from Canada" -- returns false
$demo="Bob is from Los Angeles CA";

$qaz="CA";

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}

NOTE: untested and you may need to play around with it .
Nov 10 '07 #3
Thanks for your response. But if in your example
strVar "Bob is from Canada" -- would return true when I want it to
return false.

Nov 10 '07 #4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ro*********@gmail.com wrote:
Thanks for your response. But if in your example
strVar "Bob is from Canada" -- would return true when I want it to
return false.
*borrowing Krustov's code as template*

$demo="Bob is from Los Angeles CA";

$qaz=" CA"; // note the extra space

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}
- --
Brendan Gillatt
brendan {at} brendangillatt {dot} co {dot} uk
http://www.brendangillatt.co.uk
PGP Key: http://pgp.mit.edu:11371/pks/lookup?...rch=0xBACD7433
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (MingW32)

iD8DBQFHNjP4kA9dCbrNdDMRAnQ9AJ0dL6C23gPRQ4n40hjqIX g+H5nEQwCg0Yum
r9nv+WwcsnZfQIC22bQCdlU=
=uQxP
-----END PGP SIGNATURE-----
Nov 10 '07 #5
<comp.lang.php>
<Brendan Gillatt>
<Sat, 10 Nov 2007 22:43:04 +0000>
<uu******************************@pipex.net>
*borrowing Krustov's code as template*

$demo="Bob is from Los Angeles CA";

$qaz=" CA"; // note the extra space

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}
Thats not a ideal solution to the well known php bug you refer to .

Best not to mention such things until a user has a problem IMHO .
Nov 10 '07 #6
On Nov 10, 5:51 pm, Krustov <m...@privacy.netwrote:
<comp.lang.php>
<Brendan Gillatt>
<Sat, 10 Nov 2007 22:43:04 +0000>
<uu-dnYh9Kt09rqvanZ2dnUVZ8sLin...@pipex.net>
*borrowing Krustov's code as template*
$demo="Bob is from Los Angeles CA";
$qaz=" CA"; // note the extra space
$wsx=strpos($qaz,$demo);
if ($wsx==true) {print "exact match found";}

Thats not a ideal solution to the well known php bug you refer to .

Best not to mention such things until a user has a problem IMHO .
And which well known bug is that?

Nov 11 '07 #7
On Nov 11, 5:37 am, Krustov <m...@privacy.netwrote:
<comp.lang.php>
<>
<Sat, 10 Nov 2007 13:09:14 -0800>
<1194728954.083106.150...@c30g2000hsa.googlegroups .com>
Is there any function in php that will match a word exactly and if it
finds it, it returns true.
For example if I search for "CA"
strVar = "Bob is from Los Angeles CA" - return true
strVar "Bob is from Canada" -- returns false

$demo="Bob is from Los Angeles CA";

$qaz="CA";

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}

NOTE: untested and you may need to play around with it .
using strpos, this would also match

$demo="Bob is from Los Angeles CAblahblah";

while i think OP wanted exact match. Correct me if i am wrong.

maybe something like this:

$demo="Bob is from Los Angeles CA ddfs";
$s = split(" ",$demo);
foreach ($s as $k)
{
if( $k === "CA" )
{
echo "Found CA: $k\n";
}
}

Nov 11 '07 #8
This might work.

<?php
function myfunc($string,$pattern)
{
if(strpos(' '.$string.' ', ' '.$pattern.' ') !== FALSE)
{
return true;
}
return false;
}

var_dump(myfunc('Bob is from Los Angeles CA','CA'));
var_dump(myfunc('Bob is from Canada','CA'));
?>

On Nov 10, 4:09 pm, ross.one...@gmail.com wrote:
Hi,

Is there any function in php that will match a word exactly and if it
finds it, it returns true.

For example if I search for "CA"

strVar = "Bob is from Los Angeles CA" - return true

strVar "Bob is from Canada" -- returns false

Any help is appreciated

Thanks

-Ross

Nov 11 '07 #9
On Nov 10, 3:09 pm, ross.one...@gmail.com wrote:
Hi,

Is there any function in php that will match a word exactly and if it
finds it, it returns true.

For example if I search for "CA"

strVar = "Bob is from Los Angeles CA" - return true

strVar "Bob is from Canada" -- returns false

Any help is appreciated

Thanks

-Ross
You might use preg_match() with word boundaries... perhaps?

Nov 11 '07 #10
Brendan Gillatt wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ro*********@gmail.com wrote:
>Thanks for your response. But if in your example
strVar "Bob is from Canada" -- would return true when I want it to
return false.
*borrowing Krustov's code as template*

$demo="Bob is from Los Angeles CA";

$qaz=" CA"; // note the extra space

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}
How about "CAnada".

Faced with this sort of thing in 'C' I decided that learning to write a
regexp when I could already write C was bollocks:

You have to decide what is allowable before and after the 'CA" that
makes it a complete word, not part of something else.

In C the ispunct(), isspace() and '\0' macros proved useful.
>
- --
Brendan Gillatt
brendan {at} brendangillatt {dot} co {dot} uk
http://www.brendangillatt.co.uk
PGP Key: http://pgp.mit.edu:11371/pks/lookup?...rch=0xBACD7433
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (MingW32)

iD8DBQFHNjP4kA9dCbrNdDMRAnQ9AJ0dL6C23gPRQ4n40hjqIX g+H5nEQwCg0Yum
r9nv+WwcsnZfQIC22bQCdlU=
=uQxP
-----END PGP SIGNATURE-----
Nov 12 '07 #11

<ro*********@gmail.comwrote in message
news:11**********************@50g2000hsm.googlegro ups.com...
Thanks for your response. But if in your example
strVar "Bob is from Canada" -- would return true when I want it to
return false.
people shy away from regex...but, i don't know why.

/\bca(\b|$)/i

preg_match 'Bob is from Canada' returns false

preg_match 'Bill is from San Diego, CA' returns true.

you'd be hard-pressed to write anything more simple or manageable.
Nov 12 '07 #12

"Brendan Gillatt" <br***************@brendanREMOVETHISgillatt.co.ukw rote
in message news:uu******************************@pipex.net...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ro*********@gmail.com wrote:
>Thanks for your response. But if in your example
strVar "Bob is from Canada" -- would return true when I want it to
return false.
*borrowing Krustov's code as template*

$demo="Bob is from Los Angeles CA";

$qaz=" CA"; // note the extra space

$wsx=strpos($qaz,$demo);

if ($wsx==true) {print "exact match found";}
ummm...don't you need $wsx === true anyway?!
Nov 12 '07 #13

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

9 posts views Thread by Penn Markham | last post: by
5 posts views Thread by Richard A. DeVenezia | last post: by
3 posts views Thread by Beta What | last post: by
6 posts views Thread by Andrus | last post: by
reply views Thread by NPC403 | last post: by
1 post views Thread by fmendoza | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.