我们如何使用Php用破折号替换所有空间?

时间:2016-12-24 06:42:18

标签: php

我们如何用短划线替换所有空格' - '在Php?

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

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

现在的问题是,它在某些字符串中有时不会替换空格,如果有多个空格,它会提供多个短划线,但我只需要一个短划线。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

试试这个......

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

Vaghela-Nikhil

<强>输出:

MyApp::Application.config.session_store :cookie_store,
  key: '_my_app_session'

demo...

答案 1 :(得分:1)

<?php

function myfunc($post_name) {
   return preg_replace('/[\s_]+/', '-', $post_name);
}

$post_name = 'My document a_b';
echo myfunc($post_name);

?>

答案 2 :(得分:0)

请改用str_replace。 它说documentng-if being called more times than it should 用替换字符串替换所有出现的搜索字符串。哪个会对你有用。

它也在文件中说 &#34;如果你不需要花哨的替换规则(比如正则表达式),你应该总是使用这个函数而不是preg_replace()。&#34;   您的需求似乎并不需要&#34;花哨的替换规则。&#34; 所以你应该做

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