在使用 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 $2', $str);
echo $withNbsp; // Some string has 30 characters and 1 line.
?>
关键是正则表达式:/([0-9]+)\s(\w)/
关于php - 在 PHP 中用不可破坏的空间替换特定空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19649252/