PHP:在问号_之前替换字符串末尾的空格?

时间:2014-12-08 08:05:04

标签: php

我有一些用户输入问题标题,如:

"Why do dogs die ?"

甚至

"Why do dogs die   ?"

我的目标是删除问号前面的空格,以便输出正确的拼写:

"Why do dogs die?"

首先,我认为我可以搜索_?并将其替换为?,但如果存在以下问题,那将会更加猖獗:

"There is the sign ? - What is the name of it ?"

这就是我需要将其缩小到字符串末尾的原因。

欢迎任何解决方案。

3 个答案:

答案 0 :(得分:1)

在正则表达式的末尾添加$preg_replace('/\s+\?$/', '/?/', $string)
Link to regex

答案 1 :(得分:1)

您可以使用Regex,

[\t\s]+\?

这会在之前搜索标签或空格?

所以你可以用

替换空格/标签
preg_replace($pattern, $replacement, $string)

模式为'/[\t\s]+\?/g'

替换将是'?'

答案 2 :(得分:0)

USE preg_replace

$var = "Why do dogs die ?";
preg_replace('/(\s+\?)/', '?',$var);