1

I need to remove all double quotes,single quotes using jQuery AJAX in with google language translator. when i change onchange() it does not translate the string or character if double quotes found,and i am also used in php but not getting expected result.

i am used php' string related function but not getting result

HTML CODE :

<select name="langid" id="langid<@=review_id@>" class="guest clearfix" style="width: 150px;height: 29px;" onchange='translate_text("<@=review_id@>","<@=review_title@>","<@=your_view@>","<@=neg_review@>");'>

PHP CODE :

<?php

public function translate_text()
{
   try
        {
            $positive = $_REQUEST['positivereview'];
            $negative = $_REQUEST['negativereview'];
            $title = $_REQUEST['title'];


            $translate_into = $_REQUEST['lang']; 


            $var = new translate($translate_from,$translate_into); 

            $ar = array();
            if($title)
            {

                $ar['title'] = $var->get($title);
            }
            if($positive)
            {

                $ar['positivereview'] = $var->get($positive);   
            }   
            if($negative)
            {

                $ar['negativereview'] = $var->get($negative);   
            }   
            print_r(json_encode($ar));
            exit(0);

        }
        catch(Exception $e)
        {
            $this->log->logIt($this->module."-".""."-".$e);
        }       
    }

?>

JS/JQUERY CODE :

 function translate_text($review_id,$review_title,$your_view,$neg_review) 
    {


     var sel = jQuery('#langid'+$review_id).val();
         var url=serverurl+'index.php/feedback';
            showLoadingBar();
            if(sel == 0)
            sel = 'en';



     var passDataAsStr="opcode=translate_text&positivereview="+
    $your_view+"&negativereview="+$neg_review+"&title="+$review_title+"&lang="+sel;


                jQuery.ajax({


             type: "POST",
                     url: url,
                    //async : false,
                    data: passDataAsStr,
                    success: function(response) {
                    hideLoadingBar();
                    // console.log(response);
                        jQuery('#btnclose'+$review_id).show();
                        jQuery('#trans_div'+$review_id).show();
                        var res = jQuery.parseJSON(response);
                        console.log(res['title']);
                        console.log(res['positivereview']);
                        console.log(res['negativereview']);
                        jQuery('#titleid_'+$review_id).text(res['title']);
                        jQuery('#positiveid'+$review_id).text(res['positivereview']);
                        jQuery('#negativeid'+$review_id).text(res['negativereview']);

                          }
                  });
    }

When I want change the language translator it does not change,i am using like this var $review_title = this.$review_title.replace(/['"]+/g, ""); but i don't know how to pass `.replace() in parameter in ajax jquery. to change the review title in jquery and in php also not get result

i want this type of output.

input like this : "New "home" away from home when in village"

output must be this : New home away from home when in village

Any body having any idea please help to sort it out. Thanks

to sort out in php or jquery side or any html special character

  • I suggest you to take a look to one of my question if you're interested to replace quotes by "correct" quotation marks, as the "correct" ones shouldn't create this issue. https://stackoverflow.com/questions/49816069/replace-double-quotes-by-quotation-marks – Takit Isy May 22 '18 at 09:45

2 Answers2

4

Use str.replace(/"|'/g,''); to remove double or single quotes:

var str = `New "home" away from home when in village's`;
var res = str.replace(/"|'/g,'');
console.log(res);
Ankit Agarwal
  • 30,378
  • 5
  • 37
  • 62
1

you can use:

$str = str_replace(array('\'', '"'), '', $str);

And If your string is having only characters and numbers then you can use:

$str = preg_replace("/[^a-zA-Z0-9 ]+/", "", html_entity_decode($str ));