Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP's strstr() equivalent for JavaScript [closed]

Tags:

javascript

php

I wrote this little piece of code for viewing the profile pictures that are set as private. But every time I have to access it, I have to turn Apache on on XAMPP. Also, it is pretty much useless on a computer that doesn't have Apache installed. So I wanted to write it in JavaScript but couldn't find an equivalent for strstr() function.

Could someone please let me know if there's an equivalent or alternative?

The code:

<?php
    //haystack
    $_POST['theaddress'] ='160x160/photo.jpg';

    //return all after the needle '160x160/', inclusive
    $varA = strstr($_POST['theaddress'], '160x160/');

   //build new URL
    $varA = "https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-ash3/t1.0-9"."$varA";

    header("Location: $varA");
?>
like image 767
Daniel_V Avatar asked Feb 11 '23 15:02

Daniel_V


2 Answers

You can try this :

function strstr(haystack, needle, bool) {
    // Finds first occurrence of a string within another
    //
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/strstr    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strstr(‘Kevin van Zonneveld’, ‘van’);
    // *     returns 1: ‘van Zonneveld’    // *     example 2: strstr(‘Kevin van Zonneveld’, ‘van’, true);
    // *     returns 2: ‘Kevin ‘
    // *     example 3: strstr(‘[email protected]’, ‘@’);
    // *     returns 3: ‘@example.com’
    // *     example 4: strstr(‘[email protected]’, ‘@’, true);    // *     returns 4: ‘name’
    var pos = 0;

    haystack += "";
    pos = haystack.indexOf(needle); if (pos == -1) {
        return false;
    } else {
        if (bool) {
            return haystack.substr(0, pos);
        } else {
            return haystack.slice(pos);
        }
    }
}

Source: http://phpjs.org/functions/strstr/

like image 99
Magicprog.fr Avatar answered Feb 14 '23 04:02

Magicprog.fr


JavaScript String's indexOf() function should meet all your requests

Next example does in JavaScript almost same what you wrote in PHP. Keep in mind that you need to be sure that you have a way to pass $_POST['theaddress'] to your this function. (for example use PHP setcookie() function and then read value in JavaScript code

function reload(fileName) {
    // define server address variable
    var serverAddress = "https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-ash3/t1.0-9";

    // get the filename
    var fileName = fileName.indexOf("160x160/");

    // set new location based on server address and filename
    location.href = serverAddress + fileName;
}
like image 32
Mark Zucchini Avatar answered Feb 14 '23 03:02

Mark Zucchini