Используя preg_match, чтобы найти группу в строке? - PullRequest
0 голосов
/ 09 апреля 2011

Я пытаюсь найти специальные символы с такими символами, как <?, <?php или ?> в строке.Приведенный ниже код работает, чтобы найти «php» в строке где угодно, независимо от того, является ли она PHP, php или phpaPHPa.

<?php
$searchfor = "php";
$string = "PHP is the web scripting language of choice.";
if (preg_match("/".$searchfor."/i", $string)) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
?>

Мне нужен подобный код, который находит специальные символы, такие как <?, <?php или ?> в строке.Есть предложения?

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Вы можете использовать тот же код. Просто убедитесь, что вы не используете специальные символы регулярных выражений при их использовании в сопоставлении. Знак вопроса должен быть экранирован, чтобы ваш $searchfor стал <\?php

0 голосов
/ 09 апреля 2011

Использование strpos (или stripos ) будет быстрее, чем использование RegEx'es ...

if(false === strpos($text, '<?'))
  echo 'Match was not found';
else
  echo 'Match was found';
...