system/library の下の Cart.php には、名前の値にアラビア語を使用できない正規表現パターン定義があります。これは機能します:
$data = array(
'id' => "221212",
'qty' => 1,
'price' => 21.2,
'name' => 'dasdasdas'
);
しかし、名前にアラビア語が含まれているため、これは失敗します。
$data = array(
'id' => "221212",
'qty' => 1,
'price' => 21.2,
'name' => 'عمر'
);
Cart.php クラスで、次のことがわかりました。
// These are the regular expression rules that we use to validate the product ID and product name
var $product_id_rules = '\.a-z0-9_-';
// alpha-numeric, dashes, underscores, or periods
var $product_name_rules = '\.\:\-_a-z0-9';
// alphanumeric, dashes, underscores, colons or periods
名前のルールが気になります。後でチェックがあるため、明らかにこれが問題です。
if ( ! preg_match("/^[".$this->product_name_rules."]+$/i", $items['name'])) {
log_message('error', 'An invalid name was submitted as the product name: '.$items['name'].' The name can only contain alpha-numeric characters, dashes, underscores, colons, and spaces');
return FALSE;
}
名前規則の文字列をアラビア語に置き換えるにはどうすればよいですか? 私は正規表現のバックグラウンドが非常に低いので、助けてください。
ありがとう!