|
|
|
| Такой вопрос:
у меня в денвере str_ireplace работает не взирая на регистр,
но на хостере становится регистрозависимой.
может, дело в русской локали?
Данные беру из MySQL.
Пробовала
setlocale (LC_ALL,"ru_RU");
setlocale(LC_ALL,'ru_RU.utf8', 'Russian_Russia.utf8');
setlocale(LC_ALL, array("ru_RU.utf8", "ru_SU.utf8","ru_RU", "russian", "ru_SU", "ru"));
Ни один из вариантов не сработал.
А если написать echo $e=str_ireplace("aaa","***","aaa-AAA-aAa"); все отлично.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: nato
(09.03.2008 в 00:44)
| | >А если написать echo $e=str_ireplace("aaa","***","aaa-AAA-aAa"); все отлично.
Так вы же говорите не работает. Сами себе противоречите )) | |
|
|
|
|
|
|
|
для: mihdan
(09.03.2008 в 11:58)
| | в том-то и парадокс:
если данные генерируются средствами php - то все отлично.
если данные из базы - str_ireplace не работает. | |
|
|
|
|
|
|
|
для: nato
(09.03.2008 в 13:31)
| | 1. В какой кодировке сам скрипт?
2. В какой кодировке хранятся данные в БД? | |
|
|
|
|
|
|
|
для: ddhvvn
(09.03.2008 в 13:53)
| | 1. cp1251
2. utf8_general_ci | |
|
|
|
|
|
|
|
для: nato
(10.03.2008 в 10:54)
| | А вам не очевидны причины такого? У вас разные кодировки! Приведите к единому формату, либо при сравнении перекодируйте! | |
|
|
|
|
|
|
|
для: mihdan
(11.03.2008 в 11:04)
| | Причины очевидны, но их решение - не очень. Хотя в Денвере и так работало. Почему-то.
Делаю так: сохраняю сам скрипт в utf8, в мета теге тоже прописываю utf8.
Тем временем в MySQL все тоже хранится в utf8.
Должно работать, но не работает все равно. И эта страница точно обновленная - не из кэша. | |
|
|
|
|
|
|
|
для: nato
(12.03.2008 в 09:49)
| | попробуйте preg_replace с модификаторами u и i | |
|
|
|
|
|
|
|
для: Gemorroj
(12.03.2008 в 11:31)
| | Ну вот что я делаю:
$result=mysql_query("SELECT * FROM news WHERE id='1' LIMIT 1") or die(mysql_error());
for ($data_welc=array(); $row=mysql_fetch_assoc($result); $data_welc[]=$row);
//echo "<pre>"; print_r($data); echo "</pre>";
$data[0]['content']=str_ireplace($search,"<font class='warning'><b>".$search."</b></font>",$data[0]['content']);
как последнюю команду записать через preg_replace? в мануале про preg_replace с модификаторами u и i я ничего не нахожу. | |
|
|
|
|
|
|
|
для: nato
(13.03.2008 в 13:40)
| | Пример из мануала
<?php
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/ui";
$replacement = "\${1}1,\$3";
echo preg_replace($pattern, $replacement, $string);
?>
|
| |
|
|
|