02-02-2022, 04:48 PM
(Última modificación: 12-26-2022, 04:31 PM por Miguel92.
Razón: Actualizado 26.12 / Añadir Prefijo
)
6
Hola, esta es otra sugerencia.Tanto en inc/class/c.core.php como en inc/smarty/plugins/modifier.seo.php, para reemplazar en el plugin solo deben toma lo que esta dentro de la funcion setSEO() y usarlo
Función original:
Código PHP: ( Seleccionar Todo )
function setSEO($string, $max = false) {
// ESPAÑOL
$espanol = array('á','é','í','ó','ú','ñ');
$ingles = array('a','e','i','o','u','n');
// MINUS
$string = str_replace($espanol,$ingles,$string);
$string = trim($string);
$string = trim(preg_replace('/[^ A-Za-z0-9_]/', '-', $string));
$string = preg_replace('/[ \t\n\r]+/', '-', $string);
$string = str_replace(' ', '-', $string);
$string = preg_replace('/[ -]+/', '-', $string);
//
if($max) {
$string = str_replace('-','',$string);
$string = strtolower($string);
}
//
return $string;
}
Se puede reducir de esta manera:
Código PHP: ( Seleccionar Todo )
function setSEO(string $string = '', bool $max = false) {
// Reemplazar letras con acentos por sus contrapartes sin acentos
$string = str_replace(['á', 'é', 'í', 'ó', 'ú', 'ñ'], ['a', 'e', 'i', 'o', 'u', 'n'], $string);
// Eliminar espacio en blanco al principio y al final y reemplazar otros espacios en blanco con guiones
$string = preg_replace('/\s+/u', '-', trim($string));
// Eliminar cualquier carácter que no sea una letra, dígito o subrayado
$string = preg_replace('/[^\pL\d_-]/u', '', $string);
// Convertir la cadena resultante a minúsculas
$string = mb_strtolower($string);
// Eliminar guiones si se especifica
if ($max) $string = str_replace('-', '', $string);
return $string;
}
Para el plugin modifier.seo.php deben borrar estas líneas, ya que como parámetro solo pasa el texto
Código PHP: ( Seleccionar Todo )
// Eliminar guiones si se especifica
if ($max) $string = str_replace('-', '', $string);
ACLARACIÓN: Obviamente al ser para "seo" siempre estará en minúsculas!




Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google