<?php
$regex1 = "/[^0-9a-z\s]+/i"; // Search for everything that is not alphanumeric or whitespace
$regex2 = "/\s+/"; // Search for whitespace
$regex3 = "/-+$/"; // search for trailing dashes
$text = "Hello World - This/That is (Test)";
// replace in turn, non-alpha with space, one or more spaces with dash, one or more trailing dashes with nothing
$text2 = preg_replace([$regex1, $regex2, $regex3],[' ','-',''], $text);
$text2 = strtolower($text2);
echo $text2;
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
hello-world-this-that-is-test