[英]How can we replace all space with dash using Php?
如何在PHP中用破折号'-'替换所有空格?
到目前为止,我已经尝试过了。
$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.