2016-12-24 46 views
-1

如何在Php中用' - '替换所有空格?我们如何使用Php替换所有的破折号空格?

到目前为止,我试过这个。

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

现在的问题是,它亘古不变的一些字符串替换有时空间,如果有一个以上的空间,它提供了超过一个破折号,但我只需要一个冲刺。我怎么解决这个问题 ?

回答

1

尝试......

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

OR

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

输出:

Vaghela-Nikhil 

demo...

0

改为使用str_replace。 在其document中,它表示 用替换字符串替换所有出现的搜索字符串。哪个会为你做。

它也在文档中说 “如果你不需要花哨的替换规则(比如正则表达式),你应该总是使用这个函数而不是preg_replace()。” 您的需求看起来并不需要“更换规则”。 所以,你应该做的

$post_name = str_replace(' ', '-', $post_name); 
1
<?php 

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

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

?> 
相关问题