$re = '/(?<![a-zá])word(?![a-zá])/m';
$str = '"word" (false, true) -> this case doesn\'t work and should match
"word " (with a space, true, true)
" word" (false, true)
" word " (true, true)
"nonword" (true, false) -> this case works correctly and shouldn\'t match
" nonword" (true, false)
"nonword " (false, false) -> this case doesn\'t work correctly and shouldn\'t match
" nonword " (false, false)
"This is a sentence with word in it." (true, true)
"word." (true, true)
"This is a sentence with nonword in it." (false, false)
"wordy" (true, false)
"wordy " (true, false)
" wordy" (true, false)
" wordy " (true, false)
" áword "
" wordá " ';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php