2013-12-20 1 views
0

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

$regex = "/\\251/i"; 
if (preg_match($regex, $contents)) { 
    echo 'good it works'; 
} 

в $ содержание являются

Shanghai Taipei Tokyo TorontoOxford is a registered trade mark of Oxford University Pressin the UK and in certain other countriesPublished in the United Statesby Oxford University Press Inc., New YorkRevised text \251 John Guy 2000

Я попытался кодирующей строку без везения

$contents = utf8_encode ($contents); 

это работает во всех онлайн-инструментах, которые я использовал, я что-то упускаю, чтобы понять, почему он не работает при запуске?

+0

Вы хотите совместить '\ 251' в строке? –

+1

Убедитесь, что у вас нет опечатки для '$ regex' &' $ regext'. – Rikesh

+0

да я делаю следующие работы на этом сайте, но не когда ranhttp: //www.phpliveregex.com/ – user3117904

ответ

0

В этом случае вы хотите использовать необработанную обратную косую черту (неэкранированную) в соответствии с символом 251 (символ октал 0251 равен ISO-LATIN-1 copyright symbol).

Попробуйте просто \251, чтобы соответствовать символу © непосредственно, так как это похоже на то, что ваш контент уже закодирован в UTF8.

Смотрите пример: http://regex101.com/r/eT3mZ8

0

Вы должны попробовать:

preg_match('/(\xA9)/i', $text); 

Или:

preg_match('/(\251)/i', $text); 
0

Я пытался в PERL, чтобы проверить, является ли правильное регулярное выражение или нет. Вы можете найти следующую PERL кода, который имеет регулярное выражение, которое идеально соответствует \ 251

#!C:\Perl64\bin 
$regex = "Shanghai Taipei Tokyo TorontoOxford is a registered trade mark of Oxford University Pressin the UK and in certain other countriesPublished in the United Statesby Oxford University Press Inc., New YorkRevised text \251 John Guy 2000"; 
if ("$regex" =~ m/(\251)/) 
{ 
    print "Success scenario\n"; 
    print "$regex is matched \n"; 
} else { 
    print "$regex is not matched \n"; 
} 

Этого выхода будет ->

Success scenario 
Shanghai Taipei Tokyo TorontoOxford is a registered trade mark of Oxford Univers 

итми прессова Великобритания и в некоторых других countriesPublished в Соединенном Statesb у Оксфорда University Press Inc., New YorkRevised текст \ 251 John Guy 2000 сопоставляется

Надеются, что это может помочь вам

Tha nks

Смежные вопросы