заменить или удалить двойные одинарные кавычки из строки в php / jquery - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно удалить все двойные кавычки, одинарные кавычки, используя jQuery AJAX с переводчиком языка Google.когда я изменяю 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, "");, но я не знаю, как передать `.replace () в параметре в ajax jquery.чтобы изменить заголовок отзыва в jquery и php, также не получить результат

я хочу вывод такого типа.

ввод такой: "New "home" away from home when in village"

вывод должен быть таким: New home away from home when in village

Если у вас есть идеи, пожалуйста, помогите разобраться.Спасибо

, чтобы разобраться в php или jquery стороне или любом html специальном символе

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

вы можете использовать:

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

И если ваша строка содержит только символы и цифры, вы можете использовать:

$str = preg_replace("/[^a-zA-Z0-9 ]+/", "", html_entity_decode($str ));
0 голосов
/ 22 мая 2018

Используйте str.replace(/"|'/g,''); для удаления двойных или одинарных кавычек:

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