我正在使用Laravel中的翻译,我有几个数组,其翻译键映射到相应的翻译。我需要删除任何包含--
的翻译,并将其替换为空字符串。我已经在同一个函数中做了一些其他str替换,所以也许我正在破坏这个函数。
以下是整个函数的样子:
public function getWithContext($locale, $context)
{
$this->registerContext($context);
$contextKey = "{$locale}.{$context}";
if ($this->has($contextKey)) return $this->get($contextKey);
$out = [];
$data = $this->get($locale);
foreach ($data as $key => $value) {
if (preg_match("/^({$context}\.)/", $key)) {
$k = str_replace("{$context}.", "", $key);
$out[$k] = ($value == "—-") ? "" : $value;
}
}
if (!empty($out)) {
$this->put($contextKey, new Collection($out));
}
return $out;
}
我正在努力让专线$out[$k] = ($value == "--") ? "" : $value;
正常工作。
答案 0 :(得分:1)
不确定这是否与它有关但在您的问题中您提到了字符串/* this is for anything less than 480px */
.title{ font-size: 1em; }
...
/* greater than 480px */
@media screen and (min-width: 480px){ /*change min-width to em if you prefer*/
.title{ font-size: 1.25em; }
}
,但在您的代码中,字符串为"--"
,其中第一个破折号具有不同的字符
答案 1 :(得分:0)
我找到了解决问题的方法。通过键盘输入的破折号编码与服务器看到的编码不同。因此,我不得不将服务器中的值复制到代码中,并且它完美地工作。