2015-03-26 2 views
0

им пытаются извлечь список Wordpress сообщений с get_posts,PHP preg_match всегда возвращает истину

После этого, я хочу, чтобы искать в POST_CONTENT, если какой-либо матч определенной строки.

прямо сейчас, мой код:

if(preg_match('/\b[download id="2"]\b/i', $value->post_content)){ 
     echo('match'); 
}else{ 
     echo('nomatch'); 
} 

Но вернуть все дни матча.

Что я делаю неправильно?

+1

Не могли бы вы привести пример того, что вы хотите совместить, и то, что вы не хотите сравнивать. Потому что я не могу понять это с вашим описанием – Unex

+0

Побег квадратных скобок: '/ \ b \ [скачать id =" 2 "\] \ b/i'. – bloodyKnuckles

ответ

1

Квадратные скобки означает, в соответствии с любым из символов, указанных, так что в вашем случае это соответствие d или o или w или n или l или a или или i или = или " или 2.

Если вы хотите совместить download id="2" в строке, то вам необходимо использовать /(download id="2")/i. Если вы хотите соответствовать [download id="2"], тогда вам нужно сбежать от квадратных скобок: /(\[download id="2"\])/i

+0

Спасибо! Именно то, что я искал! – Gustav

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