从 php/jquery 中的字符串中替换或删除双引号、单引号
to replace or remove double,single quotes from string in php/jquery
我需要在 google 语言翻译器中使用 jQuery AJAX 删除所有双引号、单引号。当我更改 onchange() 时,如果找到双引号,它不会翻译字符串或字符,我也在 php 中使用但没有得到预期的结果。
我使用了php'字符串相关函数但没有得到结果
HTML 代码:
<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 代码:
<?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 代码:
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']);
}
});
}
当我想改变语言翻译器时它不会改变,我是这样使用的
var $review_title = this.$review_title.replace(/['"]+/g, "");
但我不知道如何在 ajax jquery 的参数中传递 `.replace()。在 jquery 和 php 中更改评论标题也没有得到结果
我想要这种类型的输出。
这样输入:"New "home" away from home when in village"
输出必须是这样的:New home away from home when in village
任何body有任何想法请帮忙解决。谢谢
排序在php
或jquery
边或任何html特殊字符
使用str.replace(/"|'/g,'');
删除双引号或单引号:
var str = `New "home" away from home when in village's`;
var res = str.replace(/"|'/g,'');
console.log(res);
您可以使用:
$str = str_replace(array('\'', '"'), '', $str);
如果您的字符串只有字符和数字,那么您可以使用:
$str = preg_replace("/[^a-zA-Z0-9 ]+/", "", html_entity_decode($str ));
我需要在 google 语言翻译器中使用 jQuery AJAX 删除所有双引号、单引号。当我更改 onchange() 时,如果找到双引号,它不会翻译字符串或字符,我也在 php 中使用但没有得到预期的结果。
我使用了php'字符串相关函数但没有得到结果
HTML 代码:
<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 代码:
<?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 代码:
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']);
}
});
}
当我想改变语言翻译器时它不会改变,我是这样使用的
var $review_title = this.$review_title.replace(/['"]+/g, "");
但我不知道如何在 ajax jquery 的参数中传递 `.replace()。在 jquery 和 php 中更改评论标题也没有得到结果
我想要这种类型的输出。
这样输入:"New "home" away from home when in village"
输出必须是这样的:New home away from home when in village
任何body有任何想法请帮忙解决。谢谢
排序在php
或jquery
边或任何html特殊字符
使用str.replace(/"|'/g,'');
删除双引号或单引号:
var str = `New "home" away from home when in village's`;
var res = str.replace(/"|'/g,'');
console.log(res);
您可以使用:
$str = str_replace(array('\'', '"'), '', $str);
如果您的字符串只有字符和数字,那么您可以使用:
$str = preg_replace("/[^a-zA-Z0-9 ]+/", "", html_entity_decode($str ));