我们如何使用php用仪表板替换所有空间



如何用dash' - '替换所有空格?

到目前为止,我已经尝试过。

     $post_name = $row['post_name'];
     $post_name = preg_replace('/_/', '-', $post_name);
     $post_name=  preg_replace("/[^A-Za-z 0-9?!-]/",'',$post_name);

现在的问题是,它并不是有时在某些字符串中替换空间,如果有一个以上的空间,它给出了一个以上的破折号,但我只需要一个破折号。我该如何解决这个问题?

尝试这个...

echo preg_replace('/s+/', '-', "Vaghela Nikhil");

echo str_replace(" ","-","Vaghela Nikhil");

输出:

Vaghela-Nikhil

演示...

<?php
function myfunc($post_name) {
   return preg_replace('/[s_]+/', '-', $post_name);
}
$post_name = 'My document a_b';
echo myfunc($post_name);
?>

而是使用str_replace。它在文档中说用替换字符串替换所有搜索字符串的出现。这将为您做。

它也在文档中说"如果您不需要替换规则(例如正则表达式),则应始终使用此功能而不是Preg_replace()。" 您的需要看起来不需要"替换规则"。所以你应该做

$post_name = str_replace(' ', '-', $post_name);

最新更新