Forum Webscript.Ru

Программирование => PHP => Тема начата: qik от 29 Декабря 2003, 22:24:58

Название:  
Отправлено: qik от 29 Декабря 2003, 22:24:58
не могу вывести через print неразрывный пробел, мож игнорирование знаков как-то по хитррому поставить?
или например есть ли оперетор обозначающий что дальше идет html? ну или что-то в этом духе?
Название:  
Отправлено: Макс от 29 Декабря 2003, 23:34:49
лучше на примере расскажи, а то ничего не понятно.
Название:  
Отправлено: qik от 29 Декабря 2003, 23:44:24
ну смотри

$last_modified = filemtime("file.php");
print("дата обновления: ");
print(date("h:i A j F Y", $last_modified));

выдает

дата обновления: 10:20 PM 29 December 2003

нужно в строчке
print(date("h:i A j F Y", $last_modified));
между h:i, A и пр. вставить нег неразрывного пробела ( )
как вот тут
print("дата обновления: ");
Название:  
Отправлено: Макс от 30 Декабря 2003, 00:19:36
так попробуй:
print(date(\'h\\&\\n\\b\\s\\p\\;:\\&\\n\\b\\s\\p\\;i A j F Y\', $last_modified));
Название:  
Отправлено: Макс от 30 Декабря 2003, 00:21:29
Блин, форум опять слеши проглотил
print(date(\'h\\&\\n\\b\\s\\p\\;:\\&\\n\\b\\s\\p\\;i A j F Y\', $last_modified));


ЗЫ
наверное можно не все символы экранировать, но мне лень открывать мануал  и проверять ;)
Название:  
Отправлено: qik от 30 Декабря 2003, 00:41:46
это типа получается каждый символ слешом закрывать?? это типа молотковый метод, а есть ченить более интелектуальное, потому что если нужно пару строк такого текста выводить....геморой получется...
Название:  
Отправлено: qik от 30 Декабря 2003, 00:45:13
пишу

$last_modified = filemtime("index.php");
print("дата обновления: ");
print(date("h:i\\&\\n\\b\\s\\p\\;A\\&\\n\\b\\s\\p\\;j\\&\\n\\b\\s\\p\\;F\\&\\n\\b\\s\\p\\;Y", $last_modified));

выдает

дата обновления: 12:43& bsp;AM& bsp;30& bsp;December& bsp;2003
Название:  
Отправлено: qik от 30 Декабря 2003, 00:46:14
мож такая хрень из за двойных ковычек которые у меня ?
Название:  
Отправлено: Макс от 30 Декабря 2003, 00:50:16
Цитировать
мож такая хрень из за двойных ковычек которые у меня ?
да
Название:  
Отправлено: qik от 30 Декабря 2003, 00:52:34
да, я уж сам разобрался =) спасибо.
а вообще для чего используют двойные?
Название:  
Отправлено: Yukko от 30 Декабря 2003, 00:55:05
кто вам сказал, что неразрывный пробел это     ??? всегда было вроде неразрывный фрагмент внутри может быть и  
http://www.tam.ru/kursk2000/html/pre.html

или я чего-то не вкурил???
Название:  
Отправлено: Макс от 30 Декабря 2003, 00:56:30
Цитировать
это типа получается каждый символ слешом закрывать?? это типа молотковый метод, а есть ченить более интелектуальное, потому что если нужно пару строк такого текста выводить....геморой получется...
какие пару строк текста ? Экранировать нужно только то что в date() вставить надо.
просто
date(\'h& nbsp;:& nbsp;i A j F Y\', $last_modified)
писать нельзя, так как некоторые символы из & n b s p ; для date имеют специальное значение - указывают формат даты. Экранировать нужно только эти символы.
Название:  
Отправлено: qik от 30 Декабря 2003, 12:28:35
Цитировать
просто
date(\'h& nbsp;:& nbsp;i A j F Y\', $last_modified)
писать нельзя, так как некоторые символы из & n b s p ; для date имеют специальное значение - указывают формат даты. Экранировать нужно только эти символы.

да, я просто написал
print(date(\'j\\&\\n\\b\\s\\p\\;F\\&\\n\\b\\s\\p\\;Y\\&\\n\\b\\s\\p\\;(h:i\\&\\n\\b\\s\\p\\;A)\', $last_modified));
Цитировать

кто вам сказал, что неразрывный пробел это
 
??? всегда было вроде неразрывный фрагмент внутри может быть и
 

http://www.artlebedev.ru/kovodstvo2/sections/62/ - пункт 13 =)
Название:  
Отправлено: Phoinix от 30 Декабря 2003, 16:50:13
qik
AFAIK - \\n - символ "возврат каретки" поэтому он и вставил у тебя как бы пробел... ты посмотри сам код который выводится у тебя...
IMHO если не важно наличие &npsb; то ставь просто \\n если все же есть, то я пока вижу только такой вариант:

print(date("h", $last_modified));
print("&npsb;:&npsb;");
print(date("i A j F Y", $last_modified));
Название:  
Отправлено: qik от 30 Декабря 2003, 17:09:33
Phoinix
да все у меня работает ништяк, я использую код который дал и у меня все выводится так как нужно =)
дата обновления: 30 Dec 2003, 16:51
Название:  
Отправлено: FreeSpace от 30 Декабря 2003, 20:03:57
Цитировать
Phoinix:
AFAIK - \\n - символ "возврат каретки"

Вообще-то \\n - это символ перевода строки.
А возврат каретки - это \\r ;)

ИМХО, способ, который предложил Phoinix - самый нормальный. Хотя лично я бы делал это через конкатенацию одной строкой :)
Или вообще так:
$datetime = date("h:i A j F Y", $last_modified);
$datetime = str_replace(\' \', \' \', $datetime);
Название:  
Отправлено: Yukko от 30 Декабря 2003, 20:51:34
Цитировать
qik:
а вообще для чего используют двойные?

http://www.php.net/manual/en/language.types.string.php
Название:  
Отправлено: qik от 30 Декабря 2003, 21:26:32
Yukko
ok