input: Write a function to create a string slicing function in Python that takes a string and start and end index, and returns the slice. If the end index is greater than the length of the string, the function should return the slice from the start index to the end of the string. If the start index is greater than or equal to the end index or if the string is empty, the function should return an empty string. If either the start or end index is negative, the function should return an empty string.
  assert slicing("This is a slicing test", 8, 15)=="a slicin"
  assert slicing("This is a slicing test", 8, 100)=="a slicing test"
  assert slicing("This is a slicing test", 20, 15)==""
  assert slicing("This is a slicing test", 8, 8)==""
  assert slicing("", 8, 15)==""
  assert slicing("This is a slicing test", -1, 15)==""
output: def slicing(s, start, end):
      if start < 0 or end < 0 or start >= end or not s:
          return ""
      if end > len(s):
          end = len(s)
      return s[start:end]