【问题标题】:String not works with special chars字符串不适用于特殊字符
【发布时间】:2014-08-09 01:46:23
【问题描述】:

更新后我无法重命名类别。在这个字符串中一定有错:

如果我使用

 $categoryName = (!empty($categoryLang[$cat_details['category_id']])) ?  $categoryLang[$cat_details['category_id']] : $cat_details['name'];
  $category_lang .= ($table_name == 'reverse_categories') ? '$reverse_category_lang' : '$category_lang';
  $category_lang .= '[';
  $category_lang .= $cat_details['category_id'];
  $category_lang .= ']="';
  $category_lang .= $db->rem_special_chars($categoryName);
  $category_lang .= '";';
  $category_lang .= "\n"; }

我无法使用特殊字符更新类别。如果我将 $categoryName 重命名为 $cat_details['name'],它可以工作,现在可以更新,但现在类别特殊字符不起作用。

任何人有想法,我如何分割这个字符串?
THX 4 ...

【问题讨论】:

  • 看起来像错误的引号。你是说"$reverse_category_lang" : "$category_lang"
  • 是的,'$reverse_category_lang' 实际上会给你$reverse_category_lang 作为字符串。大概您想查看它的实际值,因此只需删除 ' 引号(或将它们更改为“)。另外,我猜第一个 $category_lang .= 应该只是 = 但您仍然需要在其中包含一个字符串值已经。

标签: php mysql string replace special-characters


【解决方案1】:

我不知道是否已经定义了 $category_lang 但是,您是否尝试过定义 $category_lang?

$categoryName = (.............    
...

//Define the variable to let you add more text to the text string 
$category_lang = '';
// Now you can use .=
$category_lang .= ($table_name == 'reverse_categories') ? '$reverse_category_lang' : '$category_lang';
$category_lang .= '[';
$category_lang .= $cat_details['category_id'];
$category_lang .= ']="';
$category_lang .= $db->rem_special_chars($categoryName);
$category_lang .= '";';
$category_lang .= "\n"; } // <-- this } is a part of a function x(){ ?

【讨论】:

    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 2016-09-13
    • 2019-09-17
    • 1970-01-01
    • 2020-04-02
    • 2021-09-05
    • 2015-02-27
    • 1970-01-01
    相关资源
    最近更新 更多