php> html - parse # - PullRequest
       4

php> html - parse #

1 голос
/ 11 марта 2011

Я пытаюсь проанализировать 'хэш-тег' (#) из php в ascii как часть URL-адреса. Я пытался экранировать символ всеми возможными способами, а также пытался использовать коды ascii / ampersand, но что бы я ни пытался, он не выдает фактический '#' в URL.

Пример:

print l('node/'.$node->nid.'/edit/2\#extra');

Заканчивается как:

http://local/node/212/edit/%5C%2523extra

Вместо:

http://local/node/212/edit/2#extra

Я пытался искать в Интернете по ключевым словам, таким как символы parse, echo, print и escape в php, но безрезультатно. Я уверен, что один из вас, кодирующих богов, может ответить на этот простой вопрос;)

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Полагаю, вы ищете функцию urlencode()

echo "http://local/node/212/edit/".urlencode("\#extra");
// Will output: http://local/node/212/edit/%5C%23extra
0 голосов
/ 11 марта 2011

Что это за функция l, которую вы используете? Это похоже на преобразование не алфавитно-цифровых символов в HTTP-сущности для превращения их в действительные URL-адреса.

Просто напишите print "node/{$node->nid}/edit/2#extra";.

Если вам действительно нужно использовать l, и вы пытаетесь добавить привязку страницы, то выполните:

print l('node/'.$node->nid.'/edit/2') . '#' . l('extra');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...