#php #html #character-encoding
#php #HTML #кодировка символов
Вопрос:
Я должен заменить Html-представление немецкого «Umlaute» в php-коде, я делаю это следующим образом:
Private function replaceHTMLEntities(amp;$str){
$str = str_replace('amp;Auml;',chr(196),$str);
$str = str_replace('amp;Ouml;',chr(214),$str);
$str = str_replace('amp;Uuml;',chr(220),$str);
$str = str_replace('amp;auml;',chr(228),$str);
$str = str_replace('amp;ouml;',chr(246),$str);
$str = str_replace('amp;uuml;',chr(252),$str);
$str = str_replace('amp;szlig;',chr(223),$str);
}
Есть ли какая-либо встроенная функция в php для сокращения этого кода?
Комментарии:
Ответ №1:
Я не уверен насчет встроенной функции для этого, но, по крайней мере, вы можете сократить и оптимизировать свой код, используя str_replace
параметры в виде массивов:
private function replaceHTMLEntities(amp;$str){
$search = ['amp;Auml;', 'amp;Ouml;', 'amp;Uuml;']; // and others...
$replace = [chr(196), chr(214), chr(220)]; // and others...
$str = str_replace($search, $replace, $str);
}
Подсказка: не используйте передачу по ссылке, если это возможно. Это сложнее отлаживать, и изменения не очевидны.