Php 如何从标题中打一个鼻涕虫

Php 如何从标题中打一个鼻涕虫,php,Php,我正在创造一个飞行中的蛞蝓。当我查看数据库时,我的slug行如下所示 laal-salaam---2002 实际上我不想要的是单词之间重复的连字符 $crawl_slug = preg_replace('/[^A-Za-z0-9-]+/', '-', $crawl_name); $crawl_slug = strtolower($crawl_slug); 这是PHP代码,用于处理从名称动态生成slug的过程 最终结果应该是 laal-salaam-2002 有没有其他方法可以解决这个问题。

我正在创造一个飞行中的蛞蝓。当我查看数据库时,我的slug行如下所示

laal-salaam---2002
实际上我不想要的是单词之间重复的连字符

$crawl_slug = preg_replace('/[^A-Za-z0-9-]+/', '-', $crawl_name);
$crawl_slug = strtolower($crawl_slug);
这是PHP代码,用于处理从名称动态生成slug的过程

最终结果应该是

laal-salaam-2002

有没有其他方法可以解决这个问题。谢谢

这是我多年来使用的一个简单函数

      <?php
      function to_slug($string)
      {
      $string = trim($string);
      $string1 = strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', $string)));
  return preg_replace("/\-+/i", "-", $string1);
      }
  $slug = to_slug("laal-salaam---2002");
      echo $slug
      ?>

您可以使用另一个
preg_replace
将多个连字符更改为单个连字符:
$crawlslaug=preg_replace(“/[-]+/”,“-”,$crawlslaug)