Re: regex/preg_replace() difficulty
| From: | Marek Kilimajer | Date: | Wed, 01 Oct 2003 11:17:17 +0000 |
| Subject: | Re: regex/preg_replace() difficulty | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-164526@lists.php.net to get a copy of this message | ||
You can escape the control characters manualy ;)
$termWithOptionalBold=str_replace(array('.','\','$' ....),array('\.','\\','\$' ....), $termWithOptionalBold);
jonas_weber@gmx.ch wrote:
Regular Expressions: How can I indicate that the contents of a term (user input*) needs to be treated as 'non-operators/control characters' (as *word* to match in that exact way)? (* Because the term is a user's input I can't escape the control characters manually.) Example: $result = preg_replace('/('.$termWithOptionalBold.')(<\/?span[^>]*>)*()/si', '<span class="highlight">\1</span>', $result); [If $termWithOptionalBold is a "." (period) for example, any char will be matched--instead of only the "."] Any suggestions? Thanks a lot for your effort! Best wishes, jonas PS: Somewhere I read that '\Q' would do something like that but it didn't work.