Guest User

Untitled

a guest
Apr 24th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. public function generateUri($title) {
  2. $title = strtolower($title);
  3.  
  4. // Reemplazamos tildes y etc.
  5. $patterns = array (
  6. '/á/',
  7. '/é/',
  8. '/í/',
  9. '/ó/',
  10. '/ú/',
  11. '/à/',
  12. '/è/',
  13. '/ù/',
  14. '/ì/',
  15. '/ò/'
  16. );
  17.  
  18. $replaces = array (
  19. 'a',
  20. 'e',
  21. 'i',
  22. 'o',
  23. 'u',
  24. 'a',
  25. 'e',
  26. 'u',
  27. 'i',
  28. 'o'
  29. );
  30.  
  31.  
  32. $title = preg_replace($patterns, $replaces, $title);
  33.  
  34. // Vamos a separar las words.
  35.  
  36. $words = explode(' ', $title);
  37.  
  38. $strlen = 0;
  39.  
  40. // Recorremos y vemos que no pase el limite.
  41.  
  42. $ret = '';
  43.  
  44. foreach ($words as $w) {
  45. if ( ($strlen + strlen($w) ) > LIMIT ) {
  46. // Supera al limite, chequeamos que no
  47. // NOSSA, NOSSA
  48. // que no sea la unica palabra, asi no devolvemos una uri vacia.
  49. if (!$ret) {
  50. // Tonces efectivamente es la unica palabra, la cortamos.
  51. $ret = substr($w, 0, LIMIT);
  52. }
  53. // Salimos del for
  54. break;
  55. }else{
  56. $ret .= '-'.$w;
  57. }
  58. }
  59.  
  60. $valid = 'abcdefghijkmnleopqrstuvwxyz-_';
  61.  
  62. $return = '';
  63.  
  64. for ($i=0;$i<strlen($ret);$i++) {
  65.  
  66. if ( preg_match ('/'.$ret[$i].'/', $valid) ) {
  67.  
  68. $return .= $ret[$i];
  69.  
  70. }
  71.  
  72. }
  73.  
  74. return $return;
  75.  
  76.  
  77. }
Add Comment
Please, Sign In to add comment