Phpost
SUGERENCIA Función SEO en (c.core.php y plugin) - Versión para impresión

+- Phpost (https://phpost.es)
+-- Foro: Comunidad (https://phpost.es/forum-1.html)
+--- Foro: Sugerencias (https://phpost.es/forum-5.html)
+--- Tema: SUGERENCIA Función SEO en (c.core.php y plugin) (/thread-310.html)



Función SEO en (c.core.php y plugin) - Miguel92 - 02-02-2022

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:
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:
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:
    // Eliminar guiones si se especifica
    
if ($max$string str_replace('-'''$string); 
 
ACLARACIÓN: Obviamente al ser para "seo" siempre estará en minúsculas!


RE: Función SEO en (c.core.php y plugin) - PARADOX - 02-17-2022

amazing...


RE: Función SEO en (c.core.php y plugin) - Ruggio - 12-30-2022

Esta muy bueno, muchas gracias!!