我们如何用短划线替换所有空格' - '在Php?
到目前为止,我已经尝试过了。
$post_name = $row['post_name'];
$post_name = preg_replace('/\_/', '-', $post_name);
$post_name= preg_replace("/[^A-Za-z 0-9?!\-]/",'',$post_name);
现在的问题是,它在某些字符串中有时不会替换空格,如果有多个空格,它会提供多个短划线,但我只需要一个短划线。我该如何解决这个问题?
答案 0 :(得分:1)
试试这个......
echo str_replace(" ","-","Vaghela Nikhil");
或强>
Vaghela-Nikhil
<强>输出:强>
MyApp::Application.config.session_store :cookie_store,
key: '_my_app_session'
答案 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。 它说document在ng-if being called more times than it should 用替换字符串替换所有出现的搜索字符串。哪个会对你有用。
它也在文件中说 &#34;如果你不需要花哨的替换规则(比如正则表达式),你应该总是使用这个函数而不是preg_replace()。&#34; 您的需求似乎并不需要&#34;花哨的替换规则。&#34; 所以你应该做
$post_name = str_replace(' ', '-', $post_name);