function uriGenerate($s, $sTable, $sField, $iMaxLen = 255) { //$s = get_mb_replace ('/[^\pL^\pN]+/u', '-', $s); // unicode characters $s = get_mb_replace('/([^\\d^\\w]+)/', '-', $s); // latin characters $s = get_mb_replace('/([-^]+)/', '-', $s); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // try to add date if (get_mb_len($s) > 240) { $s = get_mb_substr($s, 0, 240); } $s .= '-' . date('Y-m-d'); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // try to add number for ($i = 0; $i < 999; ++$i) { if (uriCheckUniq($s . '-' . $i, $sTable, $sField)) { return $s . '-' . $i; } } return rand(0, 999999999); }
function uriGenerate($s, $sTable, $sField, $iMaxLen = 255) { $s = uriFilter($s); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // try to add date if (get_mb_len($s) > 240) { $s = get_mb_substr($s, 0, 240); } $s .= '-' . date('Y-m-d'); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // try to add number for ($i = 0; $i < 999; ++$i) { if (uriCheckUniq($s . '-' . $i, $sTable, $sField)) { return $s . '-' . $i; } } return rand(0, 999999999); }
function uriGenerate($s, $sTable, $sField, $sEmpty = '-') { $s = uriFilter($s, $sEmpty); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // cut off redundant part if (get_mb_len($s) > 240) { $s = get_mb_substr($s, 0, 240); } // try to add date $s .= '-' . date('Y-m-d'); if (uriCheckUniq($s, $sTable, $sField)) { return $s; } // try to add number for ($i = 0; $i < 999; ++$i) { if (uriCheckUniq($s . '-' . $i, $sTable, $sField)) { return $s . '-' . $i; } } return rand(0, 999999999); }