[英]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.