Efficient PHP Text to Slug Function

The slugify function transforms a given title or string into a URL-friendly slug, making it lowercase, removing spaces, special characters, and ensuring clean, SEO-friendly URLs.

Code snippet

* @param $title
* @return mixed|string|string[]|null
function slugify($title) {
// Convert the title to lowercase
$slug = strtolower($title);

// Replace spaces with dashes
$slug = str_replace(' ', '-', $slug);

// Remove special characters except dashes and alphanumeric characters
$slug = preg_replace('/[^a-z0-9-]/', '', $slug);

// Remove double dashes
$slug = preg_replace('/-+/', '-', $slug);

// Trim dashes from the beginning and end
$slug = trim($slug, '-');

return $slug;

Step-by-Step Explanation:

  1. Convert to Lowercase:

    Input: Original title or string.
    Action: Convert the entire string to lowercase using strtolower.
    Output: A lowercase version of the input string.
  2. Replace Spaces with Dashes:

    Input: Lowercased string from step 1.
    Action: Replace spaces with dashes using str_replace.
    Output: A string with spaces replaced by dashes.
  3. Remove Special Characters:

    Input: String with spaces replaced by dashes.
    Action: Use regular expression preg_replace to remove non-alphanumeric characters.
    Output: A string containing only alphanumeric characters and dashes.
  4. Remove Double Dashes:

    Input: Alphanumeric string with dashes.
    Action: Apply preg_replace to eliminate consecutive dashes.
    Output: A string without consecutive dashes.
  5. Trim Leading and Trailing Dashes:

    Input: String without consecutive dashes.
    Action: Use trim to remove leading or trailing dashes.
    Output: A final slug without leading or trailing dashes.
  6. Return Result:

    Input: Finalized slug.
    Action: Return the resulting slug as the output of the function.
    Output: A clean, URL-friendly slug derived from the original title or string.

The importance of having clean and concise URL segments from a SEO perspective

Having clean titles is crucial for SEO (Search Engine Optimization) because search engines rely heavily on the title tag to understand the content and relevance of a webpage. A clean title, free from unnecessary symbols, special characters, and duplicates, enhances the readability and clarity of the page's subject matter. Search engines use titles to determine the context of a page and its alignment with user queries. Well-optimized titles not only improve the chances of a webpage ranking higher in search results but also contribute to a positive user experience. Clear and concise titles make it easier for users to identify relevant content, encouraging higher click-through rates. Additionally, search engines often display title tags as the headline in search results, making them a critical factor in attracting user attention. In summary, clean titles play a pivotal role in SEO by signaling relevance, improving visibility, and ultimately driving organic traffic to a website.

Last updated


Leave a Comment