PHP Slug Function

Rumman Ansari   2022-12-06   Developer   web development > PHP Slug Function   428 Share

In this blog you will learn how to create a PHP Slug Function and How to use it.

Code

<span class="pln">
</span><span class="com">// functions body</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> php_slug</span><span class="pun">(</span><span class="pln">$string</span><span class="pun">)</span><span class="pln">  
 </span><span class="pun">{</span><span class="pln">  
      $slug </span><span class="pun">=</span><span class="pln"> preg_replace</span><span class="pun">(</span><span class="str">'/[^a-z0-9-]+/'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'-'</span><span class="pun">,</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">strtolower</span><span class="pun">(</span><span class="pln">$string</span><span class="pun">)));</span><span class="pln"> 
      $final_slug </span><span class="pun">=</span><span class="pln"> preg_replace</span><span class="pun">(</span><span class="str">'/-+/'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'-'</span><span class="pun">,</span><span class="pln"> $slug</span><span class="pun">);</span><span class="pln"> 
      </span><span class="kwd">return</span><span class="pln"> $final_slug</span><span class="pun">;</span><span class="pln">  
 </span><span class="pun">}</span><span class="pln">
 </span>

How to call it

You can send a variable like below $blogTitle

<span class="pln">
$post_url </span><span class="pun">=</span><span class="pln"> php_slug</span><span class="pun">(</span><span class="pln">$blogTitle</span><span class="pun">);</span>

You can send a POST variable like below $_POST['BlogStatus']

<span class="pln">
$post_url </span><span class="pun">=</span><span class="pln"> php_slug</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'BlogStatus'</span><span class="pun">]);</span>

You can send a string like below 'Hello%-world*'

<span class="pln">
$post_url </span><span class="pun">=</span><span class="pln"> php_slug</span><span class="pun">(</span><span class="str">'Hello%-world*'</span><span class="pun">);</span>