【发布时间】:2019-10-21 22:50:28
【问题描述】:
我有以下代码作为 cron 作业的一部分
if (file_exists(DIR_FS_CATALOG . '/orderwise_imports/Zencart_Product_HTML_Info.csv')) {
$fileName = DIR_FS_CATALOG . '/orderwise_imports/Zencart_Product_HTML_Info.csv';
$file = fopen($fileName, "r");
fgetcsv($file, 0, ";", '|'); // read the first line and do nothing with it as we don't need to write the cell names to the database
while ( ($column = fgetcsv ( $file, 0, ';', '|' )) !== FALSE ) {
$column = array_map(function ($string) {
$string2 = zen_db_prepare_input($string);
return str_replace("'", "\'", $string2);
}, $column);
其中一个 csv 条目的示例是
|2312|;|2312|;|EP-9SS-B-001|;|<p><strong>NINE bars deliver 9 great vitamin and mineral benefits for physical and mental energy in an easy to consume format, perfect for people on the go.</strong></p><p>Start your day the right way… this perfectly balanced NINE offers a healthy helping of satisfying oats and a tangy-sweet Berry flavour with the added staple of nutritious sunflower, pumpkin, sesame and hemp seeds for the perfect combination of Good Seeds and Great Tastes.</p><p><strong>USP: </strong>Made with natural seeds such as sunflower, pumpkin, sesame and chia.</p><p><strong>WOW FACT! </strong>Naturally vegan friendly range and poweredwith 100% plant protein.</p><p><strong>Lifestyle & Dietary trends: </strong>Vegan; Source of Protein; Gluten Free.</p>|;|1459|
所有开始和结束 html 标记都被替换为下划线。如果我这样做了
print_r($column);
我看到了
Array ( [0] => 2312 [1] => 2312 [2] => EP-9SS-B-001 [3] => _p__strong_NINE bars deliver 9 great vitamin and mineral benefits for physical and mental energy in an easy to consume format, perfect for people on the go._/strong__/p__p_Start your day the right way… this perfectly balanced NINE offers a healthy helping of satisfying oats and a tangy-sweet Berry flavour with the added staple of nutritious sunflower, pumpkin, sesame and hemp seeds for the perfect combination of Good Seeds and Great Tastes._/p__p__strong_USP: _/strong_Made with natural seeds such as sunflower, pumpkin, sesame and chia._/p__p__strong_WOW FACT! _/strong_Naturally vegan friendly range and poweredwith 100% plant protein._/p__p__strong_Lifestyle & Dietary trends: _/strong_Vegan; Source of Protein; Gluten Free._/p_ [4] => 1459 )
我一生都无法弄清楚为什么会发生这种情况。以前有人遇到过这种情况,您是如何解决的?
【问题讨论】:
-
zen_db_prepare_input似乎是我唯一可能进行翻译的地方。 -
我同意 Scuzzy,但是当我在 Zend 中查找该方法时,它不会对 HTML 进行任何剥离 - github.com/ZenMagick/ZenCart/blob/master/zc_admin/includes/… - 当您在 array_map 之前打印出列时,您是否有 ?
-
@blupointmedia 是的,我愿意。
-
@blupointmedia 我下载了一个版本
1.5.6c,其中includes/functions/functions_general.php还定义了一个zen_db_prepare_input函数,该函数调用zen_sanitize_string,该函数具有preg_replace("/[<>]/", '_', $string) -
Scuzzy,是的,我刚刚看到了。您能否发布 Steph3071 和其他可能遇到此问题的人的链接和行号?