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 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. stackoverflow./questions/49816069/… – Takit Isy Commented May 22, 2018 at 9:45
2 Answers
Reset to default 4Use 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);
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 ));