gpt4 book ai didi

php - 正则表达式 - 任何对 URL 友好的文本

转载 作者:可可西里 更新时间:2023-10-31 22:17:20 25 4
gpt4 key购买 nike

PHP 正则表达式脚本,用于删除任何不是字母或数字 0 到 9 的内容,并将空格替换为连字符 - 更改为小写确保只有一个连字符 - 在单词 no -- 或 --- 等之间。

例如:

示例:敏捷的棕色狐狸跳了起来结果:the-quick-brown-fox-jumped

示例:敏捷的棕色狐狸跳了起来!结果:the-quick-brown-fox-jumped

示例:敏捷的棕色狐狸 - 跳了起来!结果:the-quick-brown-fox-jumped

示例:快速 ~`!@#$%^ &*()_+= ------ brown {}|][ :"'; <>?.,/狐狸 - 跳了!结果:the-quick-brown-fox-jumped

示例:快速 1234567890 ~`!@#$%^ &*()_+= ------ brown {}|][ :"'; <>?.,/狐狸 - 跳了!结果:the-quick-1234567890-brown-fox-jumped


有人知道正则表达式吗?

谢谢!

最佳答案

由于您似乎希望将所有非字母数字字符序列替换为单个连字符,因此您可以使用:

$str = preg_replace('/[^a-zA-Z0-9]+/', '-', $str);

但这可能导致前导或尾随连字符可以用 trim 删除:

$str = trim($str, '-');

要将结果转换为小写,请使用 strtolower :

$str = strtolower($str);

所以一起:

$str = strtolower($str);
$str = trim($str, '-');
$str = preg_replace('/[^a-z0-9]+/', '-', $str);

或者在紧凑的一行中:

$str = strtolower(trim(preg_replace('/[^a-zA-Z0-9]+/', '-', $str), '-'));

关于php - 正则表达式 - 任何对 URL 友好的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4051889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com