Equivalent Javascript substr_count?
Asked Answered
C

3

7

I am trying to find an equivalent function for Javascript. What I am trying to do is look for the current URL and if it has the following first part of the URL then do something.

In PHP I have this

if (substr_count($current_url, $root . $_SERVER['SERVER_NAME'] . '/shop/shop-gallery') {
 doSomething();
}

So as long as it matches that URL and all sub URLs like /shop/shop-gallery/product1..etc, the statement will be true.

Now how can I execute the same exact statement in javascript?

Thanks guys!

Condyle answered 27/10, 2010 at 15:29 Comment(0)
K
5

You you actually what to count the substrings or just see if it's there? If it's the first, then use Frosty Z's answer, if it's the latter you shouldn't be using substr_count in PHP in the first place, but strpos instead (it's probably faster).

The JS version of the latter is the String method indexOf:

if (stringToSearch.indexOf(current_url) > -1)  {
   doSomething();
}

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf

Keeley answered 27/10, 2010 at 15:38 Comment(6)
Err... Maybe strpos instead of substr ? Anyway, I think that your answer is more appropriate since Rick wants to check if the URL "begins with" something.Togetherness
I am trying to say return true if it matches /site/shop-gallery or /site/shop-gallery/anything after this.Condyle
@Frosty Oops, thinking one thing, writing another. Thanks.Keeley
@Rick: Yes, that is why strpos is more appropriate that substr_count, because you don't actually want to count. (substr was a typo)Keeley
thank you for the answer thus far but I wrote if(current_url.indexOf("shop-gallery") { doSomething(); } this always true...Condyle
ok i revised it to if(current_url.indexOf("shop-gallery") != -1) { doSomething(); } that seemed to work...Condyle
C
26

Substr_count in JavaScript can also be implemented as follows:

var substr_count = hay_stack_string.split('search_substring').length - 1;
Cunha answered 3/3, 2011 at 2:7 Comment(0)
K
5

You you actually what to count the substrings or just see if it's there? If it's the first, then use Frosty Z's answer, if it's the latter you shouldn't be using substr_count in PHP in the first place, but strpos instead (it's probably faster).

The JS version of the latter is the String method indexOf:

if (stringToSearch.indexOf(current_url) > -1)  {
   doSomething();
}

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf

Keeley answered 27/10, 2010 at 15:38 Comment(6)
Err... Maybe strpos instead of substr ? Anyway, I think that your answer is more appropriate since Rick wants to check if the URL "begins with" something.Togetherness
I am trying to say return true if it matches /site/shop-gallery or /site/shop-gallery/anything after this.Condyle
@Frosty Oops, thinking one thing, writing another. Thanks.Keeley
@Rick: Yes, that is why strpos is more appropriate that substr_count, because you don't actually want to count. (substr was a typo)Keeley
thank you for the answer thus far but I wrote if(current_url.indexOf("shop-gallery") { doSomething(); } this always true...Condyle
ok i revised it to if(current_url.indexOf("shop-gallery") != -1) { doSomething(); } that seemed to work...Condyle
T
4

Please check http://locutus.io/php/substr_count/ for the equivalent.

Togetherness answered 27/10, 2010 at 15:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.