php/regex:“linkify”博客标题

2024-01-09

我正在尝试编写一个简单的 PHP 函数,它可以接受像这样的字符串

Topic: Some stuff, Maybe some more, it's my stuff?

并返回

topic-some-stuff-maybe-some-more-its-my-stuff

As such:

  • 小写
  • 删除所有非字母数字非空格字符
  • 用连字符替换所有空格(或空格组)

我可以用一个正则表达式来做到这一点吗?


function Slug($string)
{
    return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}

$topic = 'Iñtërnâtiônàlizætiøn';
echo Slug($topic); // internationalizaetion

$topic = 'Topic: Some stuff, Maybe some more, it\'s my stuff?';
echo Slug($topic); // topic-some-stuff-maybe-some-more-it-s-my-stuff

$topic = 'here عربي‎ Arabi';
echo Slug($topic); // here-arabi

$topic = 'here 日本語 Japanese';
echo Slug($topic); // here-japanese
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php/regex:“linkify”博客标题 的相关文章

  • session_regenerate_id 没有创建新的会话 id

    我有一个脚本 旨在完成当前会话并开始新的会话 我使用了一段代码 它在我的开发计算机上运行良好 但是 当我将其发布到生产服务器时 会话 ID 始终保持不变 以下是我重新启动会话的代码 session start SESSION array P
  • C 支持原始字符串吗?

    C 11 添加了对原始字符串文字的支持 例如 R foo A weird string foo C有这样的东西吗 如果有 标准是什么版本 C11 如果没有 有谁知道它是否正在计划中以及是否有编译器支持它 C有这样的东西吗 如果有 标准是什么
  • php 如何统计文件夹中的文件数量?

    我想让用户能够在自己的文件夹中上传一些文件 图片 但只有当该文件夹包含的图片少于五张时才可能 如果已经有 5 张图片 脚本必须让用户知道他 她的文件夹已满 所以 我想知道php中是否有函数可以计算文件夹中的文件数量 或者 php 中有其他方
  • 使用 posix shell 测试字符串中的正则表达式

    如何测试字符串是否与特定字符串匹配正则表达式与基本 无 bash 或任何其他 posix shell 脚本 在 if 语句中 您可以使用expr在 POSIX shell 中计算正则表达式的命令 s Abc expr s alpha 3 e
  • 将函数中的会话变量传递给 codeigniter 中的助手

    这就是我正在尝试做的事情 这是控制器中的功能 public function get started if test login this gt session gt all userdata this gt load gt view te
  • 如何以编程方式获取 WooCommerce 中的所有产品?

    我想获取 WooCommerce 中的所有产品数据 产品 sku 名称 价格 库存数量 可用性等 我可以使用 wp query 来做到这一点吗 这样你就可以通过 wp query 获取所有产品 global wpdb all product
  • 使用 PHP 的 Google Glass GDK 身份验证

    我正在尝试点击此链接来验证 GDK 中的用户 https developers google com glass develop gdk authentication https developers google com glass de
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • AWS S3 上传的图像已损坏

    我正在 AWS ec2 ubuntu 机器上工作 我的代码在 cakephp 中 当我尝试将任何图像上传到 AWS S3 时 它都会损坏 虽然它在核心 php 代码中运行良好 这是我的控制器代码 if this gt User gt sav
  • 使用日语“Enter”键进行搜索功能

    我在日语方面遇到了问题 我有一个允许用户搜索数据的表单 当用户输入要搜索的字符串并按 Enter 键时 搜索功能就会执行 我的代码是 formSearch input keyup function event var key event c
  • PHP 中的 NOW() 函数

    是否有 PHP 函数以与 MySQL 函数相同的格式返回日期和时间NOW 我知道如何使用date 但我想问是否有专门用于此的功能 例如 返回 2009 12 01 00 00 00 您可以使用date https www php net m
  • 静态字符串文字表?

    在 C 中创建全局静态字符串表的正确方法是什么 我所说的 全局 是指 可从包含标头的任何文件中使用 但不是某些运行时创建的单一对象的一部分 我所说的 静态 是指 尽可能少地设置运行时间 只读内存页中的数据 每个应用程序只有 1 个数据实例
  • Android GCM 服务器的 API 密钥

    我有点困惑我应该为 GCM 服务器使用哪个 API 密钥 在文档中它说使用 android api 密钥 这对我不起作用并且总是给出未经授权的 http developer android com google gcm gs html ht
  • 未捕获的异常“Google_IO_Exception”,消息为“HTTP 错误:无法连接”

    我有一个任务 查询 运行一些从 gmail 邮箱检索数据的 php 代码 直到上周五 2015 年 4 月 10 日 它一直工作正常 现在我收到以下错误日志 E 11 58 26 094 2015 04 15 200 3 38 KB 14
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • 使用 DOJO 自动完成文本框

    我正在寻找一种使用 DOJO 进行文本框自动建议的简单方法 我将查询的数据库表 使用 PHP 脚本 以 JSON 形式返回 有超过 100 000 条记录 因此这确实不应该采用 FilteringSelect 或 ComboBox 的形式
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • Python - 来自 stdin 的 HTTP post [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我每秒左右从 bash 命令 ibeacon scan 获取这种格式的数据 ibeacon scan b stdin py Out
  • 带 -a 的路径对于 bash 函数没有意义

    这是我的 bash 函数 push gt cd var www html wp gt git init gt git add gt git commit am 1 gt git push f origin master gt 我想执行它 d
  • 如何从支持某些 API 的函数返回非具体值?

    我正在两个模型之间构建 API 我不在乎它是否返回 或 Seq 或任何可折叠的都可以 但如果我尝试这样做 就会出错 module Main where import Prelude hiding foldr import Data Fold
  • C# 检查对象是否为空

    我在使用 if 语句检查对象是否为空时遇到问题 我有一个 webClient 在 try catch 中从网站中提取 JSON 字符串 如果出错 那是因为 API 中不存在 3 位国家 地区 我只想跳过它 这是我的代码 System Net
  • 检查 servlet 和 jsp 中的会话

    在我的网络应用程序中 我需要检查会话是否存在 我想在我的 servlet 和 jsp 中检查这一点 有什么方法可以检查这个吗 Thanks 你可以测试它HttpServletRequest getSession boolean create
  • Android-从 DatePickerDialogFragment 中删除 Calendarview

    我有一个工作正常的 Datepickerdialog 片段 当我单击按钮时 datepickerdialog 将打开 左侧有微调器日期选择 右侧有日历视图 对于我在一个地方的应用程序 我只想单独显示微调器日期选择部分 必须删除或隐藏日历视图
  • 将图像转换为 HTML/CSS 中的灰度

    有没有一种简单的方法可以仅用灰度显示彩色位图HTML CSS 它不需要与 IE 兼容 我想也不会 如果它能在 FF3 和 或 Sf3 中工作 那对我来说就足够了 我知道我可以同时做到SVG和 Canvas 但现在看来工作量很大 有真正懒人的
  • 合并到分支,合并到哪一个并不重要?

    git 版本 1 7 5 4 我有大约5个分支机构 全部来自同一个初始分支 我想将 2 个分支合并在一起 比如说 branch1 和branch2 这些分支有很多差异 我目前正在分支 1 上工作 刚刚意识到我在分支 2 中实现了一些我想要在
  • 在twopi (Graphviz) 中控制间距

    我是 Graphviz 的新手 我正在尝试绘制一棵以实体为中心的树 我正在使用twopi命令 如果我把overlap true即使重叠标签周围有很多空间 它也会重叠 如果我把overlap false 标签变得太小 如何才能拥有第一种情况而
  • 如何在每次加载页面时仅重新加载一次

    我有一个 JSP 页面 即使在删除其中一项内容后 该页面仍显示以前的内容 我正在努力寻找问题 但我需要快速解决此问题 我在这方面很弱JavaScript所以请帮帮我 我需要一个JavaScript每次访问页面时都会自动重新加载页面 重新加载
  • 按日期范围和分类变量合并数据集

    假设我有两个数据集 一个包含带有开始 结束日期的促销列表 另一个包含每个计划的每月销售数据 promotions data frame start date as Date c 2012 01 01 2012 06 14 2012 02 0
  • 汉字显示为问号

    之前已经问过这个问题 但我不知道出了什么问题 我正在使用 phantomjs 打印 pdf render 呈现的页面基本上是具有以下属性的本地静态站点 font normal 17px helvetica arial verdana san
  • 使用 htaccess 在标头内设置文件名

    我们有一个从服务器下载文件的应用程序 下载后 需要保存它 因为它使用来自响应标头的文件名参数 当我使用标准 PHP 时download php id downloadID我可以毫无问题地设置标题 现在的任务是在客户端服务器上没有任何可用的
  • 我应该在 Promise 中使用 `return` 吗?

    function saveToTheDb value return new Promise function resolve reject db values insert value function err user remember
  • OpenGL中的glRotate是旋转相机还是旋转世界轴还是旋转模型对象?

    我想知道是否glRotate旋转相机 世界轴或对象 通过例子解释它们有何不同 相机 OpenGL 中没有相机 世界轴 OpenGL 中没有世界 或物体 OpenGL 中没有对象 使困惑 OpenGL 是一个绘图系统 可使用点 线和三角形进行
  • 为了记录目的而捕获 RuntimeException 是一种不好的做法吗?

    我发现捕获 RuntimeException 通常被认为是不好的做法 因为它们无法纠正并且通常是程序员错误 然而 我们有一个 疯狂的 大型应用程序 其中任何部分的更改都可能产生不可预见的后果 是的 这本身就是一个问题 现在 我们开始在应用程
  • 在android中使用Smack的ejabberd连接给出连接超时错误

    您好 我们已经从以下位置下载了 ejabberd this https docs ejabberd im admin installation install on windows 域是localhost我们已将 xmppDomain 设置
  • 使用 Assert 注释的 Symfony2 验证不起作用

    Update 由于我没有得到任何答案 因此我使用一个更简单的示例重写了整个帖子 希望这有助于揭露问题 我在表单验证方面遇到问题 我可以让 NotBlank 断言起作用 但 Type 对我不起作用 首先 这是代码 Entity LineIte
  • 使用 phantomjs 获取动态内容,并可能存在 scrapy 和 selenium 竞争条件

    首先 这是这里的后续问题 更改正在运行的蜘蛛数量 scrapyd https stackoverflow com questions 24960303 change number of running spiders scrapyd 我使用
  • php/regex:“linkify”博客标题

    我正在尝试编写一个简单的 PHP 函数 它可以接受像这样的字符串 Topic Some stuff Maybe some more it s my stuff 并返回 topic some stuff maybe some more its