02-02-2022, 04:48 PM
#1
5

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) {
$string = htmlentities($string, ENT_QUOTES, 'UTF-8');
$string = preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', $string);
$string = html_entity_decode($string, ENT_QUOTES, 'UTF-8');
$string = preg_replace('~[^0-9a-z]+~i', '-', $string);
$string = strtolower(trim($string, '-'));
return $string;
}
ACLARACIÓN: Obviamente al ser para "seo" siempre estará en minúsculas!
(Última modificación: 02-14-2022, 07:37 AM por Chctrpgo.
Razón: Añadir Prefijo
)