validar multidimensional index from ejemplo buscar array_search array php apache str-replace

php - multidimensional - Juego de caracteres diferente en servidor diferente?



search array php key (2)

¿Qué conjunto de caracteres está escrito su archivo?

Como ha escrito los caracteres que desea reemplazar directamente en su código, como cadenas, están codificados en cualquier conjunto de caracteres que utilice el archivo. Si ese conjunto de caracteres difiere de lo que obtienes del navegador, tus funciones no funcionarán.

El punto importante que debe tener en cuenta es mantener siempre un registro del juego de caracteres codificado con sus cadenas y convertirlo cuando sea necesario.

Eche un vistazo a las preguntas frecuentes de Kore Nordmanns sobre los conjuntos de caracteres en PHP para obtener más consejos sobre los conjuntos de caracteres.

Acabo de probar localmente mi aplicación web, todo funciona bien, pero después de cargarla a la aplicación del servidor se comporta de manera diferente. Utilizo la función formatiraj_string_url para convertir símbolos diacríticos y obtener una URL limpia ... localmente funciona bien pero en el servidor esta función no los convierte de la misma manera.

Pocos días antes probé esto en un tercer servidor y funcionó bien. Ahora estoy cargando la web para probarla nuevamente en este tercer servidor, pero me pregunto qué podría ser realmente la causa de tal comportamiento.

function formatiraj_string_url($string) { $string = strtolower($string); $znak[0] = '' ''; $znak[1] = ''Š''; $znak[2] = ''š''; $znak[3] = ''Đ''; $znak[4] = ''đ''; $znak[5] = ''Č''; $znak[6] = ''č''; $znak[7] = ''Ć''; $znak[8] = ''ć''; $znak[9] = ''Ž''; $znak[10] = ''ž''; $znak[11] = ''Š''; $znak[12] = ''Đ''; $znak[13] = ''Č''; $znak[14] = ''Ć''; $znak[15] = ''Ž''; $znak[16] = ''š''; $znak[17] = ''đ''; $znak[18] = ''č''; $znak[19] = ''ć''; $znak[20] = ''ž''; $znak[21] = ''Š''; // Š $znak[22] = ''š''; // š $zamjena[0] = ''-''; $zamjena[1] = ''s''; $zamjena[2] = ''s''; $zamjena[3] = ''d''; $zamjena[4] = ''d''; $zamjena[5] = ''c''; $zamjena[6] = ''c''; $zamjena[7] = ''c''; $zamjena[8] = ''c''; $zamjena[9] = ''z''; $zamjena[10] = ''z''; $zamjena[11] = ''s''; $zamjena[12] = ''d''; $zamjena[13] = ''c''; $zamjena[14] = ''c''; $zamjena[15] = ''z''; $zamjena[16] = ''s''; $zamjena[17] = ''d''; $zamjena[18] = ''c''; $zamjena[19] = ''c''; $zamjena[20] = ''z''; $zamjena[21] = ''s''; $zamjena[22] = ''s''; $string = str_replace($znak, $zamjena, $string); $new_string = preg_replace("/[^a-zA-Z0-9-s]/", "", $string); return $new_string; }

EDITAR: Antes de str_replace, esta función usa preg_replace. En el servidor, este fue el error mostrado:

Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 0 in /home2/sinjcom/public_html/sinj.com.hr/administracija/include/funkcije.php on line 200

Pero a nivel local, no tuve este problema