Forum Webscript.Ru
Программирование => PHP => Тема начата: FILA от 31 Июля 2002, 12:22:27
-
Проблема в следующем:
есть некая строка, в которой могут быть пробелы и спецсимволы
какая регулярка должна использоваться в eregi_replace(preg_replace), чтобы заменяла каждый встреченный пробел на пустоту и каждый встреченный спецсимвол на _ ?
заранее благодарен за помощь
-
Пробел на пустоту:
$str=str_replace(" ", "", $str);
А спец. символ (правда не знаю что есть спец. символ):
preg_replace("/[^\\x20-\\xFF]/","_",@strval($str));
Вроде так.
:confused:
-
preg_replace("/[^\\x20-\\xFF]/","_",@strval($str));
$str = preg_replace("![^\\w]!", "_", $str);
-
Косяк в том, что и мой, и приведенный ниже пример работает когда строка задана явно : $str = "aaaaaaaaaaa;;;". Но вот следующая конструкция всегда выдает FALSE:
$textfile=fopen ("text.csv","r");
while (!feof($textfile)){
$str=fgets($textfile, 1024);
if (ereg ("(^[^\\;]+[\\;]*$)", $str)){
print "true";}
else {
print "false";}
}
fclose($textfile);
Текстовый файл text.csv:
Head1;
text1;text2
text3;text4
Head2;
text5;text6
text7;text8
В чем косяк? Все же работает, когда $str задан в коде!
-
Извиняюсь за offtopic. Не туда отправил...