php - 在 PHP 中用不可破坏的空间替换特定空间

标签 php regex replace numbers

在使用 php 编码方面我是一个完全的初学者,这是我第一次在 stackoverflow 上发帖。我的代码有一些问题。我正在尝试在字符串中搜索一个数字,然后是一个空格,然后是另一个数字,并将该空格替换为不可破坏的空格。我知道我需要使用正则表达式,但我还是想不通。任何帮助将不胜感激。我的代码是:

echo replaceSpace("hello world ! 1 234");
function replaceSpace( $text ){        
   $brokenspace = array(" !", " ?", " ;", " :", " …", "« ", " »", "( ", " )");
   $fixedspace = array(" !", " ?", " ;", " :", " »", " …", "« ", "( ", " )");

   return str_replace( $brokenspace , $fixedspace, $text );            
}

我希望我的输出是:

hello world(nbsp)! 1(nbsp)234

最佳答案

这里:

<?php
$str = 'Some string has 30 characters and 1 line.';
$withNbsp = preg_replace('/([0-9]+)\s(\w)/', '$1&nbsp;$2', $str);
echo $withNbsp; // Some string has 30&nbsp;characters and 1&nbsp;line.
?>

关键是正则表达式:/([0-9]+)\s(\w)/

关于php - 在 PHP 中用不可破坏的空间替换特定空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19649252/

相关文章:

javascript - ajax post 整数和字符串数组

PHP spout 读/写速度

java - 仅从字符串的右侧删除空格

java - 在 Java 字符串中替换方法的更快替代方法?

python - 用 x 替换字符串中的整数而不进行错误处理

php - 稳定的 uasort - 为什么顺序被颠倒了?

php - 如何在数据表中包含 Drupal 表单元素

regex - 我怎样才能匹配恰好三个数字的行?

regex - 使用正则表达式匹配器重写 sbt 工件以去除版本信息

c# - string.Remove 不起作用