字符从CSV文件更改为PHP,preg_match_all因此而失败

时间:2012-06-28 15:36:52

标签: encoding

在我的__construct()函数中,我已经在我的文件中调用了一个标题('Content-Type:text / html; charset = utf-8'),因此页面上的UTF-8已经被设置了。问题是我得到了这样的字符串:

  

椅子或包:12“宽x 3”Hâ椅子:标准正面,可选背面或背包:每个位置每件加$ 1.00(G)。标准印记区域是主席。可选的印记区域是椅背或包。标准位置上的印记,除非在订单上另有说明。对于多个位置打印,每件加$ 50.00(G)Set Up Plus $ 1.00(G)。

在CSV文件中,它们看起来像这样:

  

椅子或包:12“宽x3¼”高•椅子:标准正面,可选背面或背包:每个位置每件加1.00(G)。标准印记区域是主席。可选的印记区域是椅背或包。标准位置上的印记,除非在订单上另有说明。对于多个位置打印,每件加$ 50.00(G)Set Up Plus $ 1.00(G)。

....所以,我的preg_match_all搞砸了,因为我想要匹配的是字符[Chair或Bag:12“W x3¼”H]这个模式:

  

/(([A-Za-z -0-9] ?):)?((\ d 。?| \ d *)“W x(\ d *。?| \ d *)“H)/

我的问题是,有没有一种方法或函数可以在用fgetcsv()读取文件时保持编码相同,因为字符的更改会弄乱preg_match_all函数?

1 个答案:

答案 0 :(得分:0)

看起来你错过了第一个“\ d”的“*”。