Отправить “&\” форме Drupal 6 с помощью ЗАВИХРЕНИЯ?

Ответ действительно "просто потому что". Существует целый набор различных синтаксисов регулярного выражения, и в то время как они совместно используют подобное появление, и обычно основы являются тем же, они варьируются по подробным сведениям.

Исторически, каждый инструмент имел свою собственную новую реализацию, делая независимо от того, что автор думал лучше всего. Существует баланс между созданием символов, особенных с и не выходя — слишком много символов, которые "естественно специальны", и Вы заканчиваете тем, что имели необходимость выйти из них все время только для соответствия на них; или, наоборот, Вы заканчиваете тем, что нуждались в наборе Escape для использования общего regex синтаксиса как () группировка. И все пишущие программу, решенную, как сделать это на основе потребностей того, что их программа, подобранная против, на том, что они чувствовали, была правильным подходом, и на фазе луны.

Существует попытка стандартизации от POSIX, который определяет "основные регулярные выражения" и "расширенные регулярные выражения". Удивительно, они работают назад друг от друга в отношении \иногда, но не с идеальной непротиворечивостью.

Регулярные выражения Perl стали другим defacto стандартом по двум причинам: во-первых, они очень гибки и мощны, и во-вторых, они на самом деле довольно нормальны, с конвенциями как "\всегда выходит из небуквенно-цифрового знака".

GNU Находит, имеет a -regextype опция, где можно изменить используемый синтаксис регулярного выражения. К сожалению, "perl" не является опцией, по крайней мере, в версии находки, которую я имею. (Значение по умолчанию, не удивительно от GNU, "emacs", и тот синтаксис документируется здесь.)

2
08.08.2011, 13:49
2 ответа

Амперсанд имеет особое значение в URL. Для передачи реального амперсанда в URL, необходимо закодировать его как %26. Можно или внести то изменение с дополнительным sed выражением или просто изменить его в файле.

2
27.01.2020, 22:07

& используется для разделения полей формы, используйте --data-urlencode опция закодировать & правильно:

curl -b cookies.txt --data-urlencode \
    title="$(sed '1,/sblmtitle/d;/slpstitle/,$d' file.html)" \
    -d form_build_id=form-5312da71abefb3bf1f63f1f2b7cf9105 \
    -d form_token=f65aaefcf6f4b20c9a3d34f5af13ccaf \
    -d form_id=post_node_form -d op=Save http://www.site.com/node/add/post

Из страницы руководства

- данные-urlencode
(HTTP) Это отправляет данные, подобные другому - опции данных за исключением того, что это выполняет кодирование URL. (Добавленный в 7.18.0)

name=content
Это сделает вихревой URL - кодируют часть содержания и передают это. Обратите внимание, что заглавная роль, как ожидают уже, будет закодирована URL.

1
27.01.2020, 22:07

Теги

Похожие вопросы