проверьте URL для определенного фрагмента текста - PullRequest
0 голосов
/ 14 февраля 2011

Допустим, я записываю URL-адрес как $url = $_SERVER['REQUEST_URI'] or $_GET['q'].

Как я могу проверить условие, если в URL-адресе содержится фрагмент текста «х»?

Какое регулярное выражение будетдля этого требуется

Ответы [ 5 ]

2 голосов
/ 15 февраля 2011

Если вы используете preg_match со значением переменной, убедитесь, что вы используете preg_quote для экранирования любых специальных символов:

$look_for = "x";
if (preg_match( "/".preg_quote($look_for, "/")."/i" , $url) ) {
  ...
1 голос
/ 14 февраля 2011

Вы также можете использовать функцию strpos ()

http://php.net/manual/en/function.strpos.php

Это один пример оттуда:

$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Note our use of ===.  Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
    echo "The string '$findme' was not found in the string '$mystring'";
} else {
    echo "The string '$findme' was found in the string '$mystring'";
    echo " and exists at position $pos";
}
1 голос
/ 14 февраля 2011

В дополнение к функциям для поиска строки, вы также можете проверить функцию arg () в Drupal: http://api.drupal.org/api/drupal/includes--path.inc/function/arg/6

0 голосов
/ 14 февраля 2011

Если вы работаете с URL-адресом с дикой природы, вы можете использовать php's parse_url (), http://www.php.net/manual/en/function.parse-url.php, с которым вам будет легко работать.Если это URL-адрес drupal, вы, вероятно, захотите использовать функцию arg () в Drupal, http://api.drupal.org/api/drupal/includes--path.inc/function/arg/6, но могут возникнуть проблемы с модулем Pathauto

0 голосов
/ 14 февраля 2011

Я думаю, preg_match будет вам полезен:

 if (preg_match( "/x/i" , $url) ) {


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...