[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как удалить пробел в конце строки
Grimyar
Вот мой код.
PHP
<?php
$wops 
= fopen("sites.txt","r") or die("Ошыбка!");
while(!
feof($wops))
  {
   $files[] = fgets($wops);
  }
echo "$files[3]";

Мне нужно чтобы после использования команды "echo" текст выводился на экран без пробела на конце строки. Я уже перепробовал все что было мне известно и даже больше того(гуглом пользовался smile.gif). Функции rtrim() и trim() не помогают. Помогите разобраться в чем тут дело пожалуйста.



Спустя 3 часа, 20 минут, 56 секунд (31.01.2009 - 03:22) kirik написал(а):
Вообще trim(); стопроцентов должна помочь.
По поводу чтения файла - не проще будет использовать функцию file();?

PHP
$files = file('sites.txt');
echo trim($files[3]);


А если trim(); и впрямь не работает, то можно воспользоваться регуляркой, например..
PHP
echo preg_replace('/\s+$/', null, $files[3]);

Спустя 8 часов, 32 минуты, 44 секунды (31.01.2009 - 11:55) FatCat написал(а):
Цитата (Grimyar @ 31.01.2009 - 00:01)
без пробела на конце строки

"Напильником" может и неэлегантно, зато надежно:
PHP
$files[3] .= "end_of_string";
$files[3] = str_replace(" end_of_string","",$files[3]);
$files[3] = str_replace("end_of_string","",$files[3]); // вдруг пробела не было ;)

Спустя 3 часа, 45 минут, 33 секунды (31.01.2009 - 15:40) Grimyar написал(а):
Спасибо, но кажется это непомогает. Все дело в том, что я питаюсь собрать URL из частей, чтобы эго потом можно было открить.

Я делал вот так:
PHP
<?php
$files 
= file("sites.txt");
echo trim("http://$files[3]/index.php?do=register");
echo "\n";


Где:
http:// - часть указующая на протокол. Знаю, можно было бы и без нее;
$files[3] - Масив созданый из файла в котором хранится пару доменных имен;
/index.php?do=register - Стандартное для всех DLE сайтов дополнение к урлу указивающее на страницу регистрации.

При выполнении вышеуказаного кода, получается вот что(пример):
"http://wokod.ru /index.php?do=register "
Как должно быть видно, там два пробела от которих я немогу никак избавится.
Я заметил, что если код сгенерированый в браузере виглядит так:
HTML
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title>x x x x x x</title>
</head>
<body style="background-color: rgb(204, 255, 255); color: rgb(0, 0, 0);"alink="#ee0000" link="#0000ee" vlink="#551a8b">
<nobr>http://wokod.ru
/index.php?do=register</nobr>
</body>
</html>

то наблюдаются эти пробелы, а если страницу сохранить и затем отредактировать вот так:
HTML
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title>x x x x x x</title>
</head>
<body style="background-color: rgb(204, 255, 255); color: rgb(0, 0, 0);"alink="#ee0000" link="#0000ee" vlink="#551a8b">
<nobr>http://wokod.ru/index.php?do=register</nobr>
</body>
</html>

то проблема пропадпет.
Может следует как-то попитатся витянуть код в строку(вопрос тогда будет стоять так: "как?")?

Мне просто нужен код, который берет домены записаные в удобной и читабельной форме вида "хххххх.ру" из файла sites.txt и соберает домен вида "http://хххххх.ру/index.php?do=register", а заем откривает собраний урл.

Спустя 10 минут, 40 секунд (31.01.2009 - 15:51) Adamant написал(а):
PHP
<?php
$files 
= file("sites.txt");
echo 'http://' . trim($files[3]) . '/index.php?do=register';
echo "\n";

<?

А пробелы у вас не после ?do=register а у вас символ переноса ("\n") в $files[3] его и нужно вам обрезать.

Спустя 5 часов, 32 минуты, 43 секунды (31.01.2009 - 21:23) Grimyar написал(а):
Спасибо. Все заработало. Я просто переделал строку
PHP
echo trim("http://$files[3]/index.php?do=register");

так, как показал Adamant, вот так
PHP
echo 'http://' trim($files[3]) . '/index.php?do=register';
.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.