在php / jquery中替换或删除字符串中的双引号

时间:2018-05-22 09:36:08

标签: javascript php jquery ajax trim

我需要使用google语言翻译器中的jQuery AJAX删除所有双引号,单引号。当我改变onchange()时,如果发现双引号,它不会翻译字符串或字符,而且我也在php中使用但没有得到预期的结果。

我使用php'字符串相关函数但没有得到结果

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代码:

<?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']);

                          }
                  });
    }

当我想要更改语言翻译器时它不会改变,我就是这样使用的 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

任何有任何想法的机构请帮忙解决。感谢

phpjquery方或任何html特殊字符

中排序

2 个答案:

答案 0 :(得分:1)

使用str.replace(/"|'/g,'');删除双引号或单引号:

&#13;
&#13;
var str = `New "home" away from home when in village's`;
var res = str.replace(/"|'/g,'');
console.log(res);
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你可以使用:

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

如果您的字符串只包含字符和数字,那么您可以使用:

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