2011-12-17 5 views
-1

Я пытался использовать preg_replace для замены период в моей строке до запятой.заменить. с, в строке

Например,

<?php 
$string = "Hey you."; 
$new_string = preg_replace("/./", ",", $new_string); 
echo $new_string; 
?> 

У меня есть ошибка в здесь, в которой я знаю, потому что я совсем запутался с узорами. Какие-нибудь идеи? Благодарю.

+0

Существует [ 'preg_quote'] (http://php.net/manual/en/function.preg-quote. php) по причине;) – hakre

ответ

6

Использование str_replace

$new_string = str_replace(".", ",", $new_string); 

Проблема с регулярным выражением является то, что вы не избежали . и . является соответствием любого символа.

Вы можете сделать это

$new_string = preg_replace("/\./", ",", $new_string); 
+0

Спасибо за комментарий и ответ. Узнал что-то новое. –

+0

Тогда вы, @Dee, должны принять этот ответ :) – TimWolla

+0

Я жду подтверждения обратного отсчета. Я приму это, как только таймер позволит мне :) –

1

Я прочитал некоторое время назад, что strtr быстрее, чем str_replace. Это может или не может еще быть правдой:

$new_string = strtr($new_string, '.', ','); 
0

попробовать:

<?php 
$string = "Hey you."; 
$new_string = preg_replace('/\./', ',', $new_string); 
echo $new_string; 
?> 
Смежные вопросы