2016-12-24 2 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"); 

ИЛИ

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); 

?> 
Смежные вопросы