Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
$has_url = (stristr($comments, 'http') || stristr($comments, 'www.'));
if($has_url) {
// prevent submit
}
Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
if (!empty( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['name']) && !empty( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['fromemail']) && !empty( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['message']) && $go == TRUE) {
$has_url = (stristr( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['message'], 'http') || stristr( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['message'], 'www.'));
if($has_url) {
// whatever happens if contains url
}
$name = Filter::no_html( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['name']);
$from = Filter::no_html( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['fromemail']);
$start_dt = Filter::no_html( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['start_dt']);
$end_dt = Filter::no_html( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['end_dt']);
$comments = Filter::no_html( Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['message']);
$validate->isEmpty($name, LANG_JAVASCRIPT_PLEASE_ENTER . " " . LANG_YOUR_NAME);
$validate->isEmpty($from, LANG_JAVASCRIPT_PLEASE_ENTER . " " . LANG_YOUR_EMAIL);
$validate->isSingleEmail($from, LANG_JAVASCRIPT_PLEASE_ENTER_EMAIL);
$validate->isEmpty($start_dt, LANG_JAVASCRIPT_PLEASE_ENTER . " " . LANG_START_DATE);
$validate->isEmpty($end_dt, LANG_JAVASCRIPT_PLEASE_ENTER . " " . LANG_END_DATE);
$validate->isEmpty($comments, LANG_JAVASCRIPT_PLEASE_ENTER . " " . LANG_YOUR_MESSAGE);
$modules->call_hook('contact_owner_submit', ''); // Call any module functions
$id = (int) @ Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['ownerid'];
$vehicle = (int) @ Вы можете найти сообщение, используя метод stristr, по определенным критериям в строке:
[110] Подробнее о методе stristr можно узнать здесь: /en/function.strstr.php
Таким образом, ваш код может выглядеть следующим образом:
[111]POST['listingid'];
if ($validate->isError())
// whatever goes here
{
}
это - ООП способ сделать закрытия на языках, который не имеет их. это не имело имени 'шаблона', потому что на функциональных языках это - очевидный способ работать. на языках ООП, OTOH, необходимо сделать некоторую работу, таким образом, это кажется nameable идиомой. 'Обработчик' звучит правильным.
(это не одиночный элемент, BTW),
Я использую его под именем "SingletonRegistry"
Посмотрите этот поток
Я имею, используют его пару раз. Особенно, когда действия для взятия неизвестны первичный (в первых фазах дизайна), или приложение должно поддержать экстремальную гибкость.
Я загружаю словарь или из файла или из базы данных, и создаю единственный экземпляр класса, который обработает запрос под определенным "ключом".
Я нашел этот класс, также ищущий сеть то имя.
Похож на то же, не?
Поскольку у Вас было слово "Action" в Вашем сообщении, я ведусь полагать, что это могло бы быть частью Шаблона "команда". Проверьте Wiki и ищите "Обработчик"..., возможно, это даст немного больше понимания.
Я не знаю, рекомендуется ли это действительно, но я должен был на самом деле использовать такой шаблон в некоторых приложениях MATLAB, которые я записал для имитации подобного ссылке поведения для объектов (который бесполезен теперь с более новыми версиями).
Как ни странно, я на самом деле назвал функциональный "обработчик". Мой объект просто сохранил одно поле, содержащее ссылку указателя на функцию (@handler), и методы были просто обертками, которые вызвали эту функцию. Например, перегруженное ДОБИРАЮТСЯ, функция для объекта просто звонила бы:
object.handler('get',...input argument list...)
Я не уверен, считают ли это "хорошим" проектным решением на других языках. Я выбрал его из необходимости, потому что это был единственный способ, которым я произвел впечатление для создания подобного ссылке поведения в MATLAB (функция-обработчик имела доступ к рабочей области инициализируемых данных, которые я не должен буду передавать в и из различных вызовов метода). Новейшие версии MATLAB теперь имеют класс ДЕСКРИПТОРА, который может сделать этот материал намного более чистым способом.
Я думаю, что цель предотвращения перекомпилировала, намного лучше подается COM дизайн, на который влияют. Какую дополнительную гибкость делают Вы добираетесь от этого:
IHandler UserHandler = ...;
Dictionary<string,string> result = UserHandler.Handle(
new Dictionary<string, string>{
{ "Action", "AddUser" },
{ "UserName", "Joe Bloggs" },
{ "Age", "23" } });
NewUserId = Int.Parse(result["UserId"]);
:
IUserHandler UserHandler = ...;
AddUserResult result = UserHandler.AddUser(new AddUserArgs {
UserName = "Joe Bloggs",
Age = 23 });
NewUserId = result.UserId;
когда можно расширить действия, результаты и аргументы:
IUserHandler UserHandler = ...;
AddUserResult2 result = UserHandler.AddUser(new AddUserArgs2 {
UserName = "Joe Bloggs",
Age = 23,
Password = "xyzzy" });
NewUserId = result.UserId;
SessionId = result.SessionId;
IUserHandler2 UserHandler2 = UserHandler as IUserHandler2;
if (UserHandler2 != null)
{
LoginUserResult loginResult = UserHandler2.LoginUser(new LoginUserArgs {
UserId = NewUserId,
SessionId = SessionId,
Password = "xyzzy" });
}