【问题标题】:Need to remove special characters from string coming from database需要从来自数据库的字符串中删除特殊字符
【发布时间】:2014-02-21 18:12:29
【问题描述】:

我将产品从 csv 文件导入数据库。对于产品名称,在存储产品时,我使用addslashes() 函数。在前端,我在显示产品名称时使用了stripslashes() 函数。

但是对于某些产品,我在显示时会收到特殊字符,我该如何删除这些字符。我尝试了几乎所有的谷歌搜索结果。 这是链接http://www.industrialstores.com/search_results/WD-40/46

导入时,我使用这样的查询:

$insert_qry = "insert into  is_product_info set product_name = '".addslashes($data['product_name'])."',
                                                    sku = '".addslashes($data['sku'])."',
                                                    friendly_url = '".addslashes($friendly_url)."',
                                                    vendor = '".$data['vendorid']."',
                                                    manufacturer = '".$data['brandid']."',
                                                    retail_price = '".$data['price']."',
                                                    wholesale_price = '".$data['cost_price']."',
                                                    status = '".$data['available']."',
                                                    image = '".addslashes($image_name)."',
                                                    short_description = '".addslashes($data['teaser'])."',
                                                    tax = '".$data['product_taxable']."',
                                                    added_by='".$rs_employee_added['userId']."',
                                                    creation_date='".$today_date."',
                                                    added_by_name='".$rs_employee_added['firstname']. ' '. $rs_employee_added['lastname']."'";

在显示时,像这样stripslashes($product_data['product_name']);

【问题讨论】:

  • 为什么不使用 PDO、活动记录或任何提供可读且安全的 SQL 语句的东西?您提供的内容将成为您未来的维护噩梦。

标签: php regex html csv


【解决方案1】:

您始终可以使用htmlspecialchars() 来防止它们作为代码运行
或者你可以将它们RegEx。

$product_data['product_name'] = preg_replace('[^0-9a-zA-Z]+, '', $product_data['product_name']);

【讨论】:

  • 哎呀,错过了一个' - 代码应该是$product_data['product_name'] = preg_replace('[^0-9a-zA-Z]+', '', $product_data['product_name']);
猜你喜欢
  • 2011-04-11
  • 2016-01-23
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多