moxol Posted July 26, 2022 Share Posted July 26, 2022 I have problems matching text if I use the /u switch. First, I want to show code that works fine: $input = "• nemir s pojačanim pokretima tijela"; preg_match("/nemir/iu", $input, $match) ; $output = $match[0]; echo 'output:' . $output; But, if I change $input to substr($input, 1) then preg_match doesn't match anything: $input = "• nemir s pojačanim pokretima tijela"; $input = substr($input, 1); preg_match("/nemir/iu", $input, $match) ; $output = $match[0]; echo 'output:' . $output . "<br/>"; I tried without the /u switch, and it works, but I need the /u switch. I don't know what the issue is, but my guess is that has something to do with the symbol • at the beggining. Can someone help me? Quote Link to comment https://forums.phpfreaks.com/topic/315091-match-issue-with-u-switch/ Share on other sites More sharing options...
Solution mac_gyver Posted July 26, 2022 Solution Share Posted July 26, 2022 substr() deals with single byte characters. try mb_substr() Quote Link to comment https://forums.phpfreaks.com/topic/315091-match-issue-with-u-switch/#findComment-1598631 Share on other sites More sharing options...
moxol Posted July 26, 2022 Author Share Posted July 26, 2022 Thank you. Quote Link to comment https://forums.phpfreaks.com/topic/315091-match-issue-with-u-switch/#findComment-1598633 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.