Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Пожелания пользователей системы (http://forum.sape.ru/forumdisplay.php?f=15)
-   -   Если в ссылке амперсанд - теряется валидность страницы (http://forum.sape.ru/showthread.php?t=17984)

TVGeorge 13.09.2008 18:56

Если в ссылке амперсанд - теряется валидность страницы
 
Вот в таком стандарте:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

амперсанд в ссылке (http://site.ru/index.php?id=1&page=15) - &, должен прописываться в HTML как &amp; - т.е. так: site.ru/index.php?id=1&amp;page=15...

...иначе (здесь - http://validator.w3.org/check?uri=ht...одобная_ссылка) страница будет невалидной.

Можно ли что-нибудь предпринять, дабы устранить сие безобразие?

Squish 13.09.2008 19:44

Для каких целей и что необходимо устранить?

Апокалипсис 13.09.2008 19:51

Можно использовать ф-цию str_replace ("&",&amp;",$str);

TVGeorge 13.09.2008 19:54

Цитата:

Сообщение от Squish (Сообщение 238145)
Для каких целей и что необходимо устранить?

Я думал в предыдущем посте все прозрачно...
Что ж, извольте - отвечаю:
Цель - страница должна быть валидной (соответствовать стандарту XHTML).
Для этого необходимо устранить присутствие в анкоре ссылки амперсанда ( & ) путем замены его на валидный ( &amp; ).

slavs™ 13.09.2008 19:59

На самом деле все просто, внесите в самом верху код
PHP код:

ini_set('arg_separator.output','&amp;'); 


TVGeorge 13.09.2008 20:03

Цитата:

Сообщение от Апокалипсис (Сообщение 238152)
Можно использовать ф-цию str_replace ("&",&amp;",$str);

Т.е. вместо этого:
Код:

echo $sape->return_links();
вот так:
Код:

echo str_replace ("&", &amp;", $sape->return_links());
?

Сейчас попробую...

Апокалипсис 13.09.2008 20:04

ну да, может потом пофиксят чтобы уже линки шли с &amp;

slavs™ 13.09.2008 20:05

Цитата:

Сообщение от TVGeorge (Сообщение 238158)
Сейчас попробую...

меня, что никто не слышит?

TVGeorge 13.09.2008 20:30

Цитата:

Сообщение от Апокалипсис (Сообщение 238161)
ну да, может потом пофиксят чтобы уже линки шли с &amp;

А вдруг у кого-то другой стандарт?..

Добавлено через 42 секунды
Цитата:

Сообщение от slavs™ (Сообщение 238164)
меня, что никто не слышит?

Я и это пробую...

Добавлено через 11 минут
Цитата:

Сообщение от slavs™ (Сообщение 238156)
PHP код:

ini_set('arg_separator.output','&amp;'); 


Не помогло.

Добавлено через 11 минут
Цитата:

Сообщение от Апокалипсис (Сообщение 238152)
Можно использовать ф-цию str_replace ("&", "&amp;",$str);

Помогло.

Теперь вместо:
PHP код:

echo $sape->return_links(); 

пишу:
PHP код:

str_replace ("&""&amp;"$sape->return_links()); 


Wink 13.09.2008 21:05

Ссылки менять нельзя. Получите ERROR на странице. Хотите пройти валидацию - не принимайте заявки с амперсандом.


Часовой пояс GMT +3, время: 16:04.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.